summaryrefslogtreecommitdiff
path: root/test/ruby/test_system.rb
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-03-07 08:44:45 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-03-07 08:44:45 +0000
commit1df42597d15416357a20bd68700ce1a2d245e8bb (patch)
treef588f28559958e27464866d7b137955bfff04a6f /test/ruby/test_system.rb
parentfc634cc092f486adfc911f614b7b4aa2c48c698d (diff)
cancel subversion backfire. sorry
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31046 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/ruby/test_system.rb')
-rw-r--r--test/ruby/test_system.rb30
1 files changed, 13 insertions, 17 deletions
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