aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/shell/system-command.rb2
-rw-r--r--test/shell/test_command_processor.rb13
2 files changed, 14 insertions, 1 deletions
diff --git a/lib/shell/system-command.rb b/lib/shell/system-command.rb
index 81456e7db3..af22ed90d7 100644
--- a/lib/shell/system-command.rb
+++ b/lib/shell/system-command.rb
@@ -16,7 +16,7 @@ class Shell
class SystemCommand < Filter
def initialize(sh, command, *opts)
if t = opts.find{|opt| !opt.kind_of?(String) && opt.class}
- Shell.Fail Error::TypeError, t.class, "String"
+ Shell.Fail TypeError, t.class, "String"
end
super(sh)
@command = command
diff --git a/test/shell/test_command_processor.rb b/test/shell/test_command_processor.rb
index 99fe1b222a..9abc75d5e6 100644
--- a/test/shell/test_command_processor.rb
+++ b/test/shell/test_command_processor.rb
@@ -66,4 +66,17 @@ class TestShell::CommandProcessor < Test::Unit::TestCase
Process.waitall
Dir.rmdir(path)
end
+
+ def test_option_type
+ name = 'foo'
+ path = File.join(@tmpdir, name)
+
+ open(path, 'w', 0755) {}
+ assert_raise(TypeError) {
+ catch(catch_command_start) {@shell.system(name, 42)}
+ }
+ ensure
+ Process.waitall
+ File.unlink(path)
+ end
end