summaryrefslogtreecommitdiff
path: root/test/ruby/test_process.rb
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-03-22 05:51:58 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-03-22 05:51:58 +0000
commit6a64e9e4ac2318cba4f9e70c66cf82885da9f46a (patch)
tree17ae7142aa5b0a30d1e02c9f7f4a240d7f582db7 /test/ruby/test_process.rb
parent5bdeb55a0261e3324a6155e59843aadd55adea7c (diff)
* 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/test_process.rb')
-rw-r--r--test/ruby/test_process.rb30
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