[前][次][番号順一覧][スレッド一覧]

ruby-changes:20026

From: nobu <ko1@a...>
Date: Tue, 14 Jun 2011 02:23:27 +0900 (JST)
Subject: [ruby-changes:20026] nobu:r32073 (trunk): * test/io/console/test_io_console.rb (TestIO_Console#test_noctty):

nobu	2011-06-14 02:23:18 +0900 (Tue, 14 Jun 2011)

  New Revision: 32073

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=32073

  Log:
    * test/io/console/test_io_console.rb (TestIO_Console#test_noctty):
      fix for Windows.

  Modified files:
    trunk/test/io/console/test_io_console.rb

Index: test/io/console/test_io_console.rb
===================================================================
--- test/io/console/test_io_console.rb	(revision 32072)
+++ test/io/console/test_io_console.rb	(revision 32073)
@@ -1,7 +1,7 @@
 begin
   require 'io/console'
+  require 'test/unit'
   require 'pty'
-  require 'test/unit'
 rescue LoadError
 end
 
@@ -169,8 +169,20 @@
   require_relative '../../ruby/envutil'
 
   def test_noctty
-    assert_in_out_err(["-rio/console"],
-                      "Process.daemon(true, true); p IO.console",
-                      ["nil"])
+    if Process.respond_to?(:daemon)
+      assert_in_out_err(["-rio/console"],
+                        "Process.daemon(true, true); p IO.console",
+                        ["nil"])
+    elsif !(rubyw = RbConfig::CONFIG["RUBYW_INSTALL_NAME"]).empty?
+      require 'tempfile'
+      t = Tempfile.new("console")
+      t.close
+      dir, base = File.split(EnvUtil.rubybin)
+      rubywbin = File.join(dir, base.sub(/ruby/, rubyw))
+      cmd = [rubywbin, '-rio/console', '-e', 'STDOUT.reopen(ARGV[0]); p IO.console', '--', t.path]
+      system(*cmd)
+      t.open
+      assert_equal("nil", t.gets.chomp)
+    end
   end
-end if defined?(Process.daemon) and defined?(IO::console)
+end if defined?(IO.console)

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]