summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--test/ruby/test_io.rb7
2 files changed, 12 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 175b315f23..af80895d0b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Wed May 28 23:04:35 2014 Tanaka Akira <akr@fsij.org>
+
+ * test/ruby/test_io.rb (test_flush_in_finalizer1): Use
+ ObjectSpace.each_object to close files.
+ GC.start is not reliable.
+
Wed May 28 19:00:31 2014 Tanaka Akira <akr@fsij.org>
* lib/net/imap.rb (Net::IMAP#initialize): Close the opened socket when
diff --git a/test/ruby/test_io.rb b/test/ruby/test_io.rb
index b104086d43..9d2ecef725 100644
--- a/test/ruby/test_io.rb
+++ b/test/ruby/test_io.rb
@@ -2358,6 +2358,7 @@ End
assert_nothing_raised(TypeError, bug3910) do
500.times {
f = File.open(path, "w")
+ f.instance_variable_set(:@test_flush_in_finalizer1, true)
fds << f.fileno
f.print "hoge"
}
@@ -2365,7 +2366,11 @@ End
t
}
ensure
- GC.start
+ ObjectSpace.each_object(File) {|f|
+ if f.instance_variables.include?(:@test_flush_in_finalizer1)
+ f.close
+ end
+ }
t.close!
end