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

* test/io/console/test_io_console.rb (test_noctty): daemon() on

OpenBSD seems not to detach the controlling terminal, when the
  argument noclose is non-zero.  ref: [Bug #5135]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32848 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2011-08-04 22:00:36 +00:00
parent 1d69f7ccf1
commit 5fd10124aa
2 changed files with 21 additions and 8 deletions

View file

@ -182,25 +182,32 @@ class TestIO_Console < Test::Unit::TestCase
case
when Process.respond_to?(:daemon)
def test_noctty
assert_in_out_err(["-rio/console"],
"Process.daemon(true, true); p IO.console",
["nil"])
end
noctty = [EnvUtil.rubybin, "-e", "Process.daemon(true)"]
when !(rubyw = RbConfig::CONFIG["RUBYW_INSTALL_NAME"]).empty?
require 'tempfile'
dir, base = File.split(EnvUtil.rubybin)
RUBYW = File.join(dir, base.sub(/ruby/, rubyw))
noctty = [File.join(dir, base.sub(/ruby/, rubyw))]
end
if noctty
require 'tempfile'
NOCTTY = noctty
def test_noctty
t = Tempfile.new("console")
t.close
cmd = [RUBYW, '-rio/console', '-e', 'STDOUT.reopen(ARGV[0]); p IO.console', '--', t.path]
t2 = Tempfile.new("console")
t2.close
cmd = NOCTTY + [
'-rio/console',
'-e', 'open(ARGV[0], "w") {|f| f.puts IO.console.inspect}',
'-e', 'File.unlink(ARGV[1])',
'--', t.path, t2.path]
system(*cmd)
sleep 0.1 while File.exist?(t2.path)
t.open
assert_equal("nil", t.gets.chomp)
ensure
t.close! if t and !t.closed?
t2.close!
end
end
end if defined?(IO.console)