diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-03-22 05:51:58 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-03-22 05:51:58 +0000 |
commit | 6a64e9e4ac2318cba4f9e70c66cf82885da9f46a (patch) | |
tree | 17ae7142aa5b0a30d1e02c9f7f4a240d7f582db7 /test/ruby | |
parent | 5bdeb55a0261e3324a6155e59843aadd55adea7c (diff) | |
download | ruby-6a64e9e4ac2318cba4f9e70c66cf82885da9f46a.tar.gz |
* win32/win32.c (rb_w32_spawn, rb_w32_aspawn): use NULL as
application name for batch files.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23031 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/ruby')
-rw-r--r-- | test/ruby/test_process.rb | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/test/ruby/test_process.rb b/test/ruby/test_process.rb index 57084f6f84..4e6097bbc1 100644 --- a/test/ruby/test_process.rb +++ b/test/ruby/test_process.rb @@ -824,6 +824,15 @@ class TestProcess < Test::Unit::TestCase assert_match(/\Ataka pid=\d+ ppid=\d+\z/, result1) assert_match(/\Ataki pid=\d+ ppid=\d+\z/, result2) assert_not_equal(result1[/\d+/].to_i, status.pid) + + if /mswin|bccwin|mingw/ =~ RUBY_PLATFORM + Dir.mkdir(path = "path with space") + write_file(bat = path + "/bat test.bat", "@echo %1>out") + system(bat, "foo 'bar'") + assert_equal(%["foo 'bar'"\n], File.read("out"), '[ruby-core:22960]') + system(%[#{bat.dump} "foo 'bar'"]) + assert_equal(%["foo 'bar'"\n], File.read("out"), '[ruby-core:22960]') + end } end @@ -847,6 +856,23 @@ class TestProcess < Test::Unit::TestCase assert_match(/\Ataku pid=\d+ ppid=\d+\z/, result1) assert_match(/\Atake pid=\d+ ppid=\d+\z/, result2) assert_not_equal(result1[/\d+/].to_i, status.pid) + + if /mswin|bccwin|mingw/ =~ RUBY_PLATFORM + Dir.mkdir(path = "path with space") + write_file(bat = path + "/bat test.bat", "@echo %1>out") + pid = spawn(bat, "foo 'bar'") + Process.wait pid + status = $? + assert(status.exited?) + assert(status.success?) + assert_equal(%["foo 'bar'"\n], File.read("out"), '[ruby-core:22960]') + pid = spawn(%[#{bat.dump} "foo 'bar'"]) + Process.wait pid + status = $? + assert(status.exited?) + assert(status.success?) + assert_equal(%["foo 'bar'"\n], File.read("out"), '[ruby-core:22960]') + end } end @@ -871,9 +897,11 @@ class TestProcess < Test::Unit::TestCase if /mswin|bccwin|mingw/ =~ RUBY_PLATFORM Dir.mkdir(path = "path with space") - write_file(bat = path + "/battest.bat", "@echo %1") + write_file(bat = path + "/bat test.bat", "@echo %1") r = IO.popen([bat, "foo 'bar'"]) {|f| f.read} assert_equal(%["foo 'bar'"\n], r, '[ruby-core:22960]') + r = IO.popen(%[#{bat.dump} "foo 'bar'"]) {|f| f.read} + assert_equal(%["foo 'bar'"\n], r, '[ruby-core:22960]') end } end |