summaryrefslogtreecommitdiff
path: root/test/shell
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-09-25 07:46:20 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-09-25 07:46:20 +0000
commitb328a43fa6e9d07ee8cfce09aaf5fdf1da7203fd (patch)
tree0e3e1759fe60c9a0cefcadc193f59203daecac0d /test/shell
parentd12d47c4beba330862f492fc556b862436652df2 (diff)
test_command_processor.rb: fix for mswin/mingw and test for directory
* test/shell/test_command_processor.rb (test_system_external): fix for mswin and mingw. one of EXECUTABLE_EXTS is needed but shell.rb does not support it. * test/shell/test_command_processor.rb (test_system_directory): test not to find directory. [ruby-core:57235] [Bug #8918] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43041 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/shell')
-rw-r--r--test/shell/test_command_processor.rb30
1 files changed, 25 insertions, 5 deletions
diff --git a/test/shell/test_command_processor.rb b/test/shell/test_command_processor.rb
index dfa36c0..7e8ff9f 100644
--- a/test/shell/test_command_processor.rb
+++ b/test/shell/test_command_processor.rb
@@ -18,12 +18,16 @@ class TestShell::CommandProcessor < Test::Unit::TestCase
tc
end
+ def exeext
+ RbConfig::CONFIG["EXECUTABLE_EXTS"][/\S+\z/]
+ end
+
def test_system_external
- ext = RbConfig::CONFIG["EXECUTABLE_EXTS"][/\S+\z/]
- path = File.join(@tmpdir, "foo#{ext}")
+ name = "foo#{exeext}"
+ path = File.join(@tmpdir, name)
open(path, "w", 0755) {}
- cmd = assert_throw(catch_command_start) {@shell.system("foo")}
+ cmd = assert_throw(catch_command_start) {@shell.system(name)}
assert_equal(path, cmd.command)
ensure
File.unlink(path)
@@ -32,14 +36,30 @@ class TestShell::CommandProcessor < Test::Unit::TestCase
def test_system_not_found
bug8918 = '[ruby-core:57235] [Bug #8918]'
- path = File.join(@tmpdir, "foo")
+ name = "foo"
+ path = File.join(@tmpdir, name)
open(path, "w", 0644) {}
assert_raise(Shell::Error::CommandNotFound, bug8918) {
- catch(catch_command_start) {@shell.system("foo")}
+ catch(catch_command_start) {@shell.system(name)}
}
ensure
Process.waitall
File.unlink(path)
end
+
+ def test_system_directory
+ bug8918 = '[ruby-core:57235] [Bug #8918]'
+
+ name = "foo#{exeext}"
+ path = File.join(@tmpdir, name)
+ Dir.mkdir(path)
+
+ assert_raise(Shell::Error::CommandNotFound, bug8918) {
+ catch(catch_command_start) {@shell.system(name)}
+ }
+ ensure
+ Process.waitall
+ Dir.rmdir(path)
+ end
end