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:
		
							parent
							
								
									1d69f7ccf1
								
							
						
					
					
						commit
						5fd10124aa
					
				
					 2 changed files with 21 additions and 8 deletions
				
			
		| 
						 | 
				
			
			@ -1,3 +1,9 @@
 | 
			
		|||
Fri Aug  5 07:00:31 2011  Nobuyoshi Nakada  <nobu@ruby-lang.org>
 | 
			
		||||
 | 
			
		||||
	* 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]
 | 
			
		||||
 | 
			
		||||
Thu Aug  4 23:48:00 2011  Kenta Murata  <mrkn@mrkn.jp>
 | 
			
		||||
 | 
			
		||||
	* thread_pthread.c (native_cond_signal): retry to call pthread_cond_signal
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue