From 1df42597d15416357a20bd68700ce1a2d245e8bb Mon Sep 17 00:00:00 2001 From: matz Date: Mon, 7 Mar 2011 08:44:45 +0000 Subject: cancel subversion backfire. sorry git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31046 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/ruby/test_system.rb | 30 +++++++++++++----------------- 1 file changed, 13 insertions(+), 17 deletions(-) (limited to 'test/ruby/test_system.rb') diff --git a/test/ruby/test_system.rb b/test/ruby/test_system.rb index bb77ad445e..f1372781cf 100644 --- a/test/ruby/test_system.rb +++ b/test/ruby/test_system.rb @@ -91,24 +91,13 @@ class TestSystem < Test::Unit::TestCase def test_system_at if /mswin|mingw/ =~ RUBY_PLATFORM bug4393 = '[ruby-core:35218]' - bug4396 = '[ruby-core:35227]' # @ + builtin command assert_equal("foo\n", `@echo foo`, bug4393); assert_equal("foo\n", `@@echo foo`, bug4393); assert_equal("@@foo\n", `@@echo @@foo`, bug4393); - # "" + @ + built-in - assert_equal("@@foo\n", `"echo" @@foo`, bug4396); - assert_equal("@@foo\n", `"@@echo" @@foo`, bug4396); - assert_equal("@@foo\n", `"@@echo @@foo"`, bug4396); - assert_equal('"@foo"\n', `"echo" "@foo"`, bug4396); - - # ^ + @ + built-in - assert_equal(nil, system('^@echo foo'), bug4396); - assert_equal(nil, system('"^@echo foo"'), bug4396); - assert_equal("@foo\n", `echo ^@foo`); - + # @ + non builtin command Dir.mktmpdir("ruby_script_tmp") {|tmpdir| tmpfilename = "#{tmpdir}/ruby_script_tmp.#{$$}" @@ -116,16 +105,23 @@ class TestSystem < Test::Unit::TestCase tmp.print "foo\nbar\nbaz\n@foo"; tmp.close - # @ + non builtin command assert_match(/\Abar\nbaz\n?\z/, `@@findstr "ba" #{tmpfilename.gsub("/", "\\")}`, bug4393); - - # "" + @ + non built-in - assert_match(/\Abar\nbaz\n?\z/, `"@@findstr" "ba" #{tmpfilename.gsub("/", "\\")}`, bug4396); - assert_match(/\A@foo\n?\z/, `"@@findstr" "@foo" #{tmpfilename.gsub("/", "\\")}`, bug4396); } end end + def test_system_redirect_win + if /mswin|mingw/ !~ RUBY_PLATFORM + return + end + + cmd = "%WINDIR%/system32/ping.exe \"BFI3CHL671\" > out.txt 2>NUL" + assert_equal(false, system(cmd), '[ruby-talk:258939]'); + + cmd = "\"%WINDIR%/system32/ping.exe BFI3CHL671\" > out.txt 2>NUL" + assert_equal(false, system(cmd), '[ruby-talk:258939]'); + end + def test_empty_evstr assert_equal("", eval('"#{}"', nil, __FILE__, __LINE__), "[ruby-dev:25113]") end -- cgit v1.2.3