diff options
Diffstat (limited to 'spec')
-rw-r--r-- | spec/ruby/core/io/initialize_spec.rb | 16 | ||||
-rw-r--r-- | spec/ruby/core/io/reopen_spec.rb | 20 |
2 files changed, 22 insertions, 14 deletions
diff --git a/spec/ruby/core/io/initialize_spec.rb b/spec/ruby/core/io/initialize_spec.rb index 8fb606d282..b1b720f040 100644 --- a/spec/ruby/core/io/initialize_spec.rb +++ b/spec/ruby/core/io/initialize_spec.rb @@ -13,12 +13,16 @@ describe "IO#initialize" do rm_r @name end - it "reassociates the IO instance with the new descriptor when passed a Fixnum" do - fd = new_fd @name, "r:utf-8" - @io.send :initialize, fd, 'r' - @io.fileno.should == fd - # initialize has closed the old descriptor - lambda { IO.for_fd(@fd).close }.should raise_error(Errno::EBADF) + # http://ci.rvm.jp/results/trunk-mjit@silicon-docker/1469621 + # http://ci.rvm.jp/results/trunk-mjit@silicon-docker/1454818 + without_feature :mjit do # with RubyVM::MJIT.enabled?, this randomly fails for now + it "reassociates the IO instance with the new descriptor when passed a Fixnum" do + fd = new_fd @name, "r:utf-8" + @io.send :initialize, fd, 'r' + @io.fileno.should == fd + # initialize has closed the old descriptor + lambda { IO.for_fd(@fd).close }.should raise_error(Errno::EBADF) + end end it "calls #to_int to coerce the object passed as an fd" do diff --git a/spec/ruby/core/io/reopen_spec.rb b/spec/ruby/core/io/reopen_spec.rb index 0237004edc..60dda72689 100644 --- a/spec/ruby/core/io/reopen_spec.rb +++ b/spec/ruby/core/io/reopen_spec.rb @@ -145,17 +145,21 @@ describe "IO#reopen with a String" do File.read(@other_name).should == "new data" end - it "closes the file descriptor obtained by opening the new file" do - @io = new_io @name, "w" + # http://ci.rvm.jp/results/trunk-mjit@silicon-docker/1461550 + # http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/1448152 + without_feature :mjit do # with RubyVM::MJIT.enabled?, this randomly fails for now + it "closes the file descriptor obtained by opening the new file" do + @io = new_io @name, "w" - @other_io = File.open @other_name, "w" - max = @other_io.fileno - @other_io.close + @other_io = File.open @other_name, "w" + max = @other_io.fileno + @other_io.close - @io.reopen @other_name + @io.reopen @other_name - @other_io = File.open @other_name, "w" - @other_io.fileno.should == max + @other_io = File.open @other_name, "w" + @other_io.fileno.should == max + end end it "creates the file if it doesn't exist if the IO is opened in write mode" do |