[前][次][番号順一覧][スレッド一覧]

ruby-changes:9093

From: akr <ko1@a...>
Date: Thu, 11 Dec 2008 19:25:23 +0900 (JST)
Subject: [ruby-changes:9093] Ruby:r20630 (trunk): * test/ruby/test_io.rb (test_dup_many): extracted from test_dup.

akr	2008-12-11 19:25:05 +0900 (Thu, 11 Dec 2008)

  New Revision: 20630

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=20630

  Log:
    * test/ruby/test_io.rb (test_dup_many): extracted from test_dup.
      test in ruby subprocess.  at asakusa.rb.  [ruby-dev:35648]

  Modified files:
    trunk/ChangeLog
    trunk/test/ruby/test_io.rb

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 20629)
+++ ChangeLog	(revision 20630)
@@ -1,3 +1,8 @@
+Thu Dec 11 19:23:09 2008  Tanaka Akira  <akr@f...>
+
+	* test/ruby/test_io.rb (test_dup_many): extracted from test_dup.
+	  test in ruby subprocess.  at asakusa.rb.  [ruby-dev:35648]
+
 Thu Dec 11 19:16:30 2008  Tanaka Akira  <akr@f...>
 
 	* lib/pathname.rb (Pathname#=~): undefed.  at asakusa.rb.
Index: test/ruby/test_io.rb
===================================================================
--- test/ruby/test_io.rb	(revision 20629)
+++ test/ruby/test_io.rb	(revision 20630)
@@ -651,18 +651,28 @@
       assert_equal("foo\nbar\n", f.read)
       assert_equal("", f2.read)
     end
+  end
 
-    a = []
-    assert_raise(Errno::EMFILE, Errno::ENFILE, Errno::ENOMEM) do
-      loop {a << IO.pipe}
-    end
-    assert_raise(Errno::EMFILE, Errno::ENFILE, Errno::ENOMEM) do
-      loop {a << [a[-1][0].dup, a[-1][1].dup]}
-    end
-    a.each do |r, w|
-      r.close unless !r || r.closed?
-      w.close unless !w || w.closed?
-    end
+  def test_dup_many
+    ruby('-e', <<-'End') {|f|
+      ok = 0
+      a = []
+      begin
+        loop {a << IO.pipe}
+      rescue Errno::EMFILE, Errno::ENFILE, Errno::ENOMEM
+        ok += 1
+      end
+      print "no" if ok != 1
+      begin
+        loop {a << [a[-1][0].dup, a[-1][1].dup]}
+      rescue Errno::EMFILE, Errno::ENFILE, Errno::ENOMEM
+        ok += 1
+      end
+      print "no" if ok != 2
+      print "ok"
+    End
+      assert_equal("ok", f.read)
+    }
   end
 
   def test_inspect

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]