1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

test_io_console.rb: investigate hang-up

* test/io/console/test_io_console.rb (TestIO_Console#test_noctty):
  grab error outputs and stop the loop upto 3 seconds.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40512 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2013-04-28 03:54:26 +00:00
parent 66c0e01220
commit 1e51f30463

View file

@ -264,14 +264,22 @@ class TestIO_Console < Test::Unit::TestCase
t2.close
cmd = NOCTTY + [
'--disable=gems',
'-rio/console',
'-e', 'open(ARGV[0], "w") {|f| f.puts IO.console.inspect}',
'-e', 'File.unlink(ARGV[1])',
'-e', 'open(ARGV[0], "w") {|f|',
'-e', 'STDOUT.reopen(f)',
'-e', 'STDERR.reopen(f)',
'-e', 'require "io/console"',
'-e', 'f.puts IO.console.inspect',
'-e', 'f.flush',
'-e', 'File.unlink(ARGV[1])',
'-e', '}',
'--', t.path, t2.path]
system(*cmd)
sleep 0.1 while File.exist?(t2.path)
30.times do
break unless File.exist?(t2.path)
sleep 0.1
end
t.open
assert_equal("nil", t.gets.chomp)
assert_equal("nil", t.gets(nil).chomp)
ensure
t.close! if t and !t.closed?
t2.close!