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

source_changes at macosforge.org source_changes at macosforge.org
Sat Jun 6 12:59:36 PDT 2009


Revision: 1787
          http://trac.macosforge.org/projects/ruby/changeset/1787
Author:   eloy.de.enige at gmail.com
Date:     2009-06-06 12:59:36 -0700 (Sat, 06 Jun 2009)
Log Message:
-----------
Disabled all Fiber specs and added to spec:ci.

Modified Paths:
--------------
    MacRuby/branches/experimental/rakelib/spec.rake

Removed Paths:
-------------
    MacRuby/branches/experimental/spec/frozen/core/fiber/alive_spec.rb
    MacRuby/branches/experimental/spec/frozen/core/fiber/current_spec.rb
    MacRuby/branches/experimental/spec/frozen/core/fiber/new_spec.rb
    MacRuby/branches/experimental/spec/frozen/core/fiber/resume_spec.rb
    MacRuby/branches/experimental/spec/frozen/core/fiber/transfer_spec.rb
    MacRuby/branches/experimental/spec/frozen/core/fiber/yield_spec.rb

Modified: MacRuby/branches/experimental/rakelib/spec.rake
===================================================================
--- MacRuby/branches/experimental/rakelib/spec.rake	2009-06-06 19:59:24 UTC (rev 1786)
+++ MacRuby/branches/experimental/rakelib/spec.rake	2009-06-06 19:59:36 UTC (rev 1787)
@@ -15,6 +15,7 @@
     spec/frozen/core/env
     spec/frozen/core/exception
     spec/frozen/core/false
+    spec/frozen/core/fiber
     spec/frozen/core/file
     spec/frozen/core/filetest
     spec/frozen/core/gc

Deleted: MacRuby/branches/experimental/spec/frozen/core/fiber/alive_spec.rb
===================================================================
--- MacRuby/branches/experimental/spec/frozen/core/fiber/alive_spec.rb	2009-06-06 19:59:24 UTC (rev 1786)
+++ MacRuby/branches/experimental/spec/frozen/core/fiber/alive_spec.rb	2009-06-06 19:59:36 UTC (rev 1787)
@@ -1,53 +0,0 @@
-require File.dirname(__FILE__) + '/../../spec_helper'
-
-ruby_version_is "1.9" do
-  require 'fiber'
-
-  describe "Fiber#alive?" do
-
-    # 1.9.1 returns 0 for true
-    ruby_bug "#1547", "1.9.2" do
-      it "returns true for a Fiber that hasn't had #resume called" do
-        fiber = Fiber.new { true }
-        fiber.alive?.should be_true
-      end
-      
-      # FIXME: Better description?
-      it "returns true for a Fiber that's yielded to the caller" do
-        fiber = Fiber.new { Fiber.yield }
-        fiber.resume
-        fiber.alive?.should be_true
-      end
-      
-      it "returns true when called from its Fiber" do
-        fiber = Fiber.new { fiber.alive?.should be_true }
-        fiber.resume
-      end
-    end
-
-    it "doesn't invoke the block associated with the Fiber" do
-      offthehook = mock('do not call')
-      offthehook.should_not_receive(:ring)
-      fiber = Fiber.new { offthehook.ring }
-      fiber.alive?
-    end
-
-    it "returns false for a Fiber that's dead" do
-      fiber = Fiber.new { true }
-      fiber.resume
-      lambda { fiber.resume }.should raise_error(FiberError)
-      fiber.alive?.should be_false
-    end
-
-    it "always returns false for a dead Fiber" do
-      fiber = Fiber.new { true }
-      fiber.resume
-      lambda { fiber.resume }.should raise_error(FiberError)
-      fiber.alive?.should be_false
-      lambda { fiber.resume }.should raise_error(FiberError)
-      fiber.alive?.should be_false
-      fiber.alive?.should be_false
-    end
-
-  end
-end

Deleted: MacRuby/branches/experimental/spec/frozen/core/fiber/current_spec.rb
===================================================================
--- MacRuby/branches/experimental/spec/frozen/core/fiber/current_spec.rb	2009-06-06 19:59:24 UTC (rev 1786)
+++ MacRuby/branches/experimental/spec/frozen/core/fiber/current_spec.rb	2009-06-06 19:59:36 UTC (rev 1787)
@@ -1,62 +0,0 @@
-require File.dirname(__FILE__) + '/../../spec_helper'
-
-ruby_version_is "1.9" do
-  describe "Fiber.current" do
-
-    require 'fiber'
-
-    it "returns the root Fiber when called outside of a Fiber" do
-      root = Fiber.current
-      root.should be_an_instance_of(Fiber)
-      # We can always transfer to the root Fiber; it will never die
-      5.times do
-        root.transfer.should be_nil
-        root.alive?.should_not be_false #Workaround for bug #1547
-      end  
-    end
-
-    it "returns the current Fiber when called from a Fiber" do
-      fiber = Fiber.new do
-        this = Fiber.current
-        this.should be_an_instance_of(Fiber)
-        this.should == fiber
-        this.alive?.should_not be_false # Workaround for bug #1547
-      end  
-      fiber.resume
-    end
-
-    it "returns the current Fiber when called from a Fiber that transferred to another" do
-      
-      states = []
-      fiber = Fiber.new do
-        states << :fiber
-        this = Fiber.current
-        this.should be_an_instance_of(Fiber)
-        this.should === fiber
-        this.alive?.should_not be_false # Workaround for bug #1547
-      end  
-
-      fiber2 = Fiber.new do
-        states << :fiber2
-        fiber.transfer
-        this = Fiber.current
-        this.should be_an_instance_of(Fiber)
-        this.should === fiber2
-        this.alive?.should_not be_false # Workaround for bug #1547
-      end  
-
-      fiber3 = Fiber.new do
-        states << :fiber3
-        fiber2.transfer
-        this = Fiber.current
-        this.should be_an_instance_of(Fiber)
-        this.should === fiber3
-        this.alive?.should_not be_false # Workaround for bug #1547
-        fiber2.transfer
-      end  
-
-      fiber3.resume
-      states.should == [:fiber3, :fiber2, :fiber]
-    end
-  end
-end

Deleted: MacRuby/branches/experimental/spec/frozen/core/fiber/new_spec.rb
===================================================================
--- MacRuby/branches/experimental/spec/frozen/core/fiber/new_spec.rb	2009-06-06 19:59:24 UTC (rev 1786)
+++ MacRuby/branches/experimental/spec/frozen/core/fiber/new_spec.rb	2009-06-06 19:59:36 UTC (rev 1787)
@@ -1,48 +0,0 @@
-require File.dirname(__FILE__) + '/../../spec_helper'
-
-ruby_version_is "1.9" do
-  describe "Fiber.new" do
-    it "creates a fiber from the given block" do
-      fiber = Fiber.new {}
-      fiber.should be_an_instance_of(Fiber)
-    end
-    
-    it "raises an ArgumentError if called without a block" do
-      lambda { Fiber.new }.should raise_error(ArgumentError)
-    end
-
-    it "does not invoke the block" do
-      invoked = false
-      fiber = Fiber.new { invoked = true }
-      invoked.should be_false
-    end
-    
-    it "closes over lexical environments" do
-      o = Object.new
-      def o.f
-        a = 1
-        f = Fiber.new { a = 2 }
-        f.resume
-        a 
-      end
-      o.f.should == 2
-    end
-
-    it "escapes an inner ensure block" do
-      f = Fiber.new do
-        begin
-          :begin
-        rescue
-          :rescue
-        ensure
-          :ensure
-        end
-      end
-      f.resume.should == :begin
-    end
-    
-    it "raises a SyntaxError when the block contains a retry statement" do
-      lambda { eval 'Fiber.new { retry; }' }.should raise_error(SyntaxError)
-    end  
-  end
-end

Deleted: MacRuby/branches/experimental/spec/frozen/core/fiber/resume_spec.rb
===================================================================
--- MacRuby/branches/experimental/spec/frozen/core/fiber/resume_spec.rb	2009-06-06 19:59:24 UTC (rev 1786)
+++ MacRuby/branches/experimental/spec/frozen/core/fiber/resume_spec.rb	2009-06-06 19:59:36 UTC (rev 1787)
@@ -1,22 +0,0 @@
-require File.dirname(__FILE__) + '/../../spec_helper'
-require File.dirname(__FILE__) + '/shared/resume'
-
-ruby_version_is "1.9" do
-  describe "Fiber#resume" do
-  
-    it_behaves_like(:resume, :transfer)
-
-    it "returns control to the calling Fiber if called from one" do
-      fiber1 = Fiber.new { :fiber1 }
-      fiber2 = Fiber.new { fiber1.resume; :fiber2 }
-      fiber2.resume.should == :fiber2
-    end
-
-    it "raises a FiberError if the Fiber has transfered control to another Fiber" do
-      fiber1 = Fiber.new { true }
-      fiber2 = Fiber.new { fiber1.transfer; Fiber.yield }
-      fiber2.resume
-      lambda { fiber2.resume }.should raise_error(FiberError)
-    end
-  end
-end

Deleted: MacRuby/branches/experimental/spec/frozen/core/fiber/transfer_spec.rb
===================================================================
--- MacRuby/branches/experimental/spec/frozen/core/fiber/transfer_spec.rb	2009-06-06 19:59:24 UTC (rev 1786)
+++ MacRuby/branches/experimental/spec/frozen/core/fiber/transfer_spec.rb	2009-06-06 19:59:36 UTC (rev 1787)
@@ -1,44 +0,0 @@
-require File.dirname(__FILE__) + '/../../spec_helper'
-require File.dirname(__FILE__) + '/shared/resume'
-
-ruby_version_is "1.9" do
-  describe "Fiber#transfer" do
-    
-    require 'fiber'
-
-    it_behaves_like(:resume, :transfer)
-
-    it "transfers control from one Fiber to another when called from a Fiber" do
-      fiber1 = Fiber.new { :fiber1 }
-      fiber2 = Fiber.new { fiber1.transfer; :fiber2 }
-      fiber2.resume.should == :fiber1
-    end
-
-    it "can be invoked from the same Fiber it transfers control to" do
-      states = []
-      fiber = Fiber.new { states << :start; fiber.transfer; states << :end } 
-      fiber.transfer
-      states.should == [:start, :end]
-
-      states = []
-      fiber = Fiber.new { states << :start; fiber.transfer; states << :end } 
-      fiber.resume
-      states.should == [:start, :end]
-    end    
-
-    it "can transfer control to a Fiber that has transfered to another Fiber" do
-      states = []
-      fiber1 = Fiber.new { states << :fiber1 }
-      fiber2 = Fiber.new { states << :fiber2_start; fiber1.transfer; states << :fiber2_end}
-      fiber2.resume.should == [:fiber2_start, :fiber1]
-      fiber2.transfer.should == [:fiber2_start, :fiber1, :fiber2_end]
-    end
-
-    ruby_bug "#1548", "1.9.2" do
-      it "raises a FiberError when transferring to a Fiber which resumes itself" do
-        fiber = Fiber.new { fiber.resume }
-        lambda { fiber.transfer }.should raise_error(FiberError)
-      end
-    end  
-  end
-end

Deleted: MacRuby/branches/experimental/spec/frozen/core/fiber/yield_spec.rb
===================================================================
--- MacRuby/branches/experimental/spec/frozen/core/fiber/yield_spec.rb	2009-06-06 19:59:24 UTC (rev 1786)
+++ MacRuby/branches/experimental/spec/frozen/core/fiber/yield_spec.rb	2009-06-06 19:59:36 UTC (rev 1787)
@@ -1,35 +0,0 @@
-require File.dirname(__FILE__) + '/../../spec_helper'
-
-ruby_version_is "1.9" do
-  describe "Fiber.yield" do
-
-    it "passes control to the Fiber's caller" do
-      step = 0
-      fiber = Fiber.new { step = 1; Fiber.yield; step = 2; Fiber.yield; step = 3 }
-      fiber.resume
-      step.should == 1
-      fiber.resume
-      step.should == 2
-    end
-
-    it "returns its arguments to the caller" do
-      fiber = Fiber.new { true; Fiber.yield :glark; true }
-      fiber.resume.should == :glark
-    end  
-
-    it "returns nil to the caller if given no arguments" do
-      fiber = Fiber.new { true; Fiber.yield; true }
-      fiber.resume.should be_nil
-    end
-
-    it "returns to the Fiber the value of the #resume call that invoked it" do
-      fiber = Fiber.new { Fiber.yield.should == :caller }
-      fiber.resume
-      fiber.resume :caller
-    end
-    
-    it "raises a FiberError if called from the root Fiber" do
-      lambda{ Fiber.yield }.should raise_error(FiberError)
-    end  
-  end
-end
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20090606/81244ab1/attachment-0001.html>


More information about the macruby-changes mailing list