[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