summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/io/console/test_io_console.rb8
-rw-r--r--test/lib/leakchecker.rb3
2 files changed, 11 insertions, 0 deletions
diff --git a/test/io/console/test_io_console.rb b/test/io/console/test_io_console.rb
index 237a41a35f..3481a2b213 100644
--- a/test/io/console/test_io_console.rb
+++ b/test/io/console/test_io_console.rb
@@ -222,14 +222,22 @@ class TestIO_Console < Test::Unit::TestCase
IO.console.close
assert_kind_of(IO, IO.console)
assert_nothing_raised(IOError) {IO.console.fileno}
+
+ IO.console(:close)
+ assert(IO.console(:tty?))
+ ensure
+ IO.console(:close)
end
def test_sync
assert(IO.console.sync, "console should be unbuffered")
+ ensure
+ IO.console(:close)
end
else
def test_close
assert_equal(["true"], run_pty("IO.console.close; p IO.console.fileno >= 0"))
+ assert_equal(["true"], run_pty("IO.console(:close); p IO.console(:tty?)"))
end
def test_sync
diff --git a/test/lib/leakchecker.rb b/test/lib/leakchecker.rb
index 5d05c1e456..37c87c9f72 100644
--- a/test/lib/leakchecker.rb
+++ b/test/lib/leakchecker.rb
@@ -31,6 +31,9 @@ class LeakChecker
def check_fd_leak(test_name)
leaked = false
live1 = @fd_info
+ if IO.respond_to?(:console)
+ IO.console(:close)
+ end
live2 = find_fds
fd_closed = live1 - live2
if !fd_closed.empty?