[macruby-changes] [1256] MacRuby/branches/experimental

source_changes at macosforge.org source_changes at macosforge.org
Sun Mar 29 03:46:50 PDT 2009


Revision: 1256
          http://trac.macosforge.org/projects/ruby/changeset/1256
Author:   eloy.de.enige at gmail.com
Date:     2009-03-29 03:46:50 -0700 (Sun, 29 Mar 2009)
Log Message:
-----------
Commented a require statement in constants_spec.rb which does not compile yet, tagged remaining failing examples.

Now that we can at least load all language spec files, I removed the partially green files and simply load "spec/frozen/language" instead of every single spec file. I might bring this back when we need so for the other spec suites.

Use spec:partially_green to run the spec files which are not fully green yet without any tags.

Modified Paths:
--------------
    MacRuby/branches/experimental/rakelib/spec.rake
    MacRuby/branches/experimental/spec/frozen/language/constants_spec.rb

Added Paths:
-----------
    MacRuby/branches/experimental/spec/frozen/tags/macruby/language/constants_tags.txt

Modified: MacRuby/branches/experimental/rakelib/spec.rake
===================================================================
--- MacRuby/branches/experimental/rakelib/spec.rake	2009-03-29 10:46:34 UTC (rev 1255)
+++ MacRuby/branches/experimental/rakelib/spec.rake	2009-03-29 10:46:50 UTC (rev 1256)
@@ -27,59 +27,28 @@
     while
   }
   
-  KNOWN_PARTIALLY_GOOD = %w{
-    alias
-    block
-    break
-    catch
-    class
-    def
-    eigenclass
-    encoding
-    ensure
-    for
-    loop
-    magic_comment
-    metaclass
-    method
-    next
-    predefined
-    private
-    regexp
-    rescue
-    return
-    throw
-    undef
-    variables
-    yield
-  }
-  
-  KNOWN_GOOD_AND_PARTIALLY_GOOD_FILES =
-    FileList["spec/frozen/language/{#{(KNOWN_GOOD + KNOWN_PARTIALLY_GOOD).join(',')}}_spec.rb"]
-  
-  desc "Run all language known good spec files which should be fully green"
+  desc "Run all language known good spec files which should be fully green (does not use tags)"
   task :green do
     files = FileList["spec/frozen/language/{#{KNOWN_GOOD.join(',')}}_spec.rb"]
     sh "./miniruby -v -I./mspec/lib -I./lib ./mspec/bin/mspec-run #{files.join(' ')}"
   end
   
+  desc "Run all partially good language spec files which are not yet fully green (does not use tags)"
+  task :partially_green do
+    files = Dir["spec/frozen/language/*_spec.rb"] - FileList["spec/frozen/language/{#{KNOWN_GOOD.join(',')}}_spec.rb"]
+    sh "./miniruby -v -I./mspec/lib -I./lib ./mspec/bin/mspec-run #{files.join(' ')}"
+  end
+  
   desc "Run continuous integration language examples (all known good examples)"
   task :ci do
-    sh "./mspec/bin/mspec ci -B ./spec/frozen/macruby.mspec #{KNOWN_GOOD_AND_PARTIALLY_GOOD_FILES.join(' ')}"
+    sh "./mspec/bin/mspec ci -B ./spec/frozen/macruby.mspec spec/frozen/language"
   end
   
   desc "Run language examples that are known to fail"
   task :fails do
-    sh "./mspec/bin/mspec run -g fails -B ./spec/frozen/macruby.mspec #{KNOWN_GOOD_AND_PARTIALLY_GOOD_FILES.join(' ')}"
+    sh "./mspec/bin/mspec run -g fails -B ./spec/frozen/macruby.mspec spec/frozen/language"
   end
   
-  namespace :list do
-    desc "List all spec language spec files which do not load yet"
-    task :not_loadable do
-      puts((Dir['spec/frozen/language/*_spec.rb'] - KNOWN_GOOD_AND_PARTIALLY_GOOD_FILES).join("\n"))
-    end
-  end
-  
   %w{ fails critical }.each do |tag|
     namespace :list do
       # We cheat by using the fact that currently the ruby.1.9.mspec script uses the macruby tags,
@@ -93,7 +62,7 @@
     namespace :"1.9" do
       desc "Run roxor language specs tagged `#{tag}' against Ruby 1.9 (use this to look for possible 1.8/1.9 incompatibility bugs)"
       task tag do
-        sh "./mspec/bin/mspec run -g #{tag} -B ./spec/frozen/ruby.1.9.mspec #{KNOWN_GOOD_AND_PARTIALLY_GOOD_FILES.join(' ')}"
+        sh "./mspec/bin/mspec run -g #{tag} -B ./spec/frozen/ruby.1.9.mspec spec/frozen/language"
       end
     end
   end

Modified: MacRuby/branches/experimental/spec/frozen/language/constants_spec.rb
===================================================================
--- MacRuby/branches/experimental/spec/frozen/language/constants_spec.rb	2009-03-29 10:46:34 UTC (rev 1255)
+++ MacRuby/branches/experimental/spec/frozen/language/constants_spec.rb	2009-03-29 10:46:50 UTC (rev 1256)
@@ -1,6 +1,8 @@
 require File.dirname(__FILE__) + '/../spec_helper'
-require File.dirname(__FILE__) + '/../fixtures/constants'
 
+# MacRuby TODO: This file does not compile yet, causing most examples to fail.
+#require File.dirname(__FILE__) + '/../fixtures/constants'
+
 # Read the documentation in fixtures/constants.rb for the guidelines and
 # rationale for the structure and organization of these specs.
 

Added: MacRuby/branches/experimental/spec/frozen/tags/macruby/language/constants_tags.txt
===================================================================
--- MacRuby/branches/experimental/spec/frozen/tags/macruby/language/constants_tags.txt	                        (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/tags/macruby/language/constants_tags.txt	2009-03-29 10:46:50 UTC (rev 1256)
@@ -0,0 +1,39 @@
+fails:Literal (A::X) constant resolution sends #const_missing to the original class or module scope
+fails:Literal (A::X) constant resolution evaluates the qualifier
+fails:Literal (A::X) constant resolution raises a TypeError if a non-class or non-module qualifier is given
+fails:Literal (A::X) constant resolution with statically assigned constants searches the immediate class or module scope first
+fails:Literal (A::X) constant resolution with statically assigned constants searches a module included in the immediate class before the superclass
+fails:Literal (A::X) constant resolution with statically assigned constants searches the superclass before a module included in the superclass
+fails:Literal (A::X) constant resolution with statically assigned constants searches a module included in the superclass
+fails:Literal (A::X) constant resolution with statically assigned constants searches the superclass chain
+fails:Literal (A::X) constant resolution with statically assigned constants searches Object if no class or module qualifier is given
+fails:Literal (A::X) constant resolution with statically assigned constants searches Object if a toplevel qualifier (::X) is given
+fails:Literal (A::X) constant resolution with dynamically assigned constants searches the immediate class or module scope first
+fails:Literal (A::X) constant resolution with dynamically assigned constants searches a module included in the immediate class before the superclass
+fails:Literal (A::X) constant resolution with dynamically assigned constants searches the superclass before a module included in the superclass
+fails:Literal (A::X) constant resolution with dynamically assigned constants searches a module included in the superclass
+fails:Literal (A::X) constant resolution with dynamically assigned constants searches the superclass chain
+fails:Literal (A::X) constant resolution with dynamically assigned constants does not search the singleton class of the class or module
+fails:Literal (A::X) constant resolution with dynamically assigned constants returns the updated value when a constant is reassigned
+fails:Constant resolution within methods sends #const_missing to the original class or module scope
+fails:Constant resolution within methods with statically assigned constants searches the immediate class or module scope first
+fails:Constant resolution within methods with statically assigned constants searches a module included in the immediate class before the superclass
+fails:Constant resolution within methods with statically assigned constants searches the superclass before a module included in the superclass
+fails:Constant resolution within methods with statically assigned constants searches a module included in the superclass
+fails:Constant resolution within methods with statically assigned constants searches the superclass chain
+fails:Constant resolution within methods with statically assigned constants searches the lexical scope of the method not the receiver's immediate class
+fails:Constant resolution within methods with statically assigned constants searches the lexical scope of a singleton method
+fails:Constant resolution within methods with statically assigned constants searches the lexical scope of a block
+fails:Constant resolution within methods with statically assigned constants searches Object as a lexical scope only if Object is explicitly opened
+fails:Constant resolution within methods with dynamically assigned constants searches the immediate class or module scope first
+fails:Constant resolution within methods with dynamically assigned constants searches a module included in the immediate class before the superclass
+fails:Constant resolution within methods with dynamically assigned constants searches the superclass before a module included in the superclass
+fails:Constant resolution within methods with dynamically assigned constants searches a module included in the superclass
+fails:Constant resolution within methods with dynamically assigned constants searches the superclass chain
+fails:Constant resolution within methods with dynamically assigned constants searches the lexical scope of the method not the receiver's immediate class
+fails:Constant resolution within methods with dynamically assigned constants searches the lexical scope of a singleton method
+fails:Constant resolution within methods with dynamically assigned constants does not search the lexical scope of the caller
+fails:Constant resolution within methods with dynamically assigned constants searches the lexical scope of a block
+fails:Constant resolution within methods with dynamically assigned constants searches Object as a lexical scope only if Object is explicitly opened
+fails:Constant resolution within methods with dynamically assigned constants returns the updated value when a constant is reassigned
+fails:Constant resolution within methods with dynamically assigned constants does not search the lexical scope of qualifying modules
\ No newline at end of file
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20090329/23718c43/attachment.html>


More information about the macruby-changes mailing list