summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Pittman <daniel@puppetlabs.com>2011-05-31 15:18:42 -0700
committerDaniel Pittman <daniel@puppetlabs.com>2011-05-31 15:26:41 -0700
commit8072b4be084637b65846b662e4307b3d5a3a2f79 (patch)
tree71a53c6bd493cbfb32bd05e552877da7b56a2567
parentdd8108cd8f48d399ab728c3437e3fef38f0eb46c (diff)
downloadpuppet-8072b4be084637b65846b662e4307b3d5a3a2f79.tar.gz
puppet-8072b4be084637b65846b662e4307b3d5a3a2f79.tar.xz
puppet-8072b4be084637b65846b662e4307b3d5a3a2f79.zip
#7211: Test unknown options don't shadow unknown actions.
Unknown options used to shadow unknown actions: $ puppet node something_I_cannot_do --unknown-option Could not parse options: invalid option: --unknown-option The earlier changes have fixed this problem, but we now add extra testing to make sure that we don't regress to the earlier state of play.
-rwxr-xr-xspec/unit/application/face_base_spec.rb11
1 files changed, 11 insertions, 0 deletions
diff --git a/spec/unit/application/face_base_spec.rb b/spec/unit/application/face_base_spec.rb
index ae8c7733c..0a4a86be6 100755
--- a/spec/unit/application/face_base_spec.rb
+++ b/spec/unit/application/face_base_spec.rb
@@ -97,6 +97,17 @@ describe Puppet::Application::FaceBase do
end
end
+ [%w{something_I_cannot_do --unknown-option},
+ %w{something_I_cannot_do argument --unknown-option}].each do |input|
+ it "should report unknown actions even if there are unknown options" do
+ app.command_line.stubs(:args).returns input
+ Puppet::Face[:basetest, '0.0.1'].expects(:get_default_action).returns(nil)
+ app.stubs(:main)
+ expect { app.run }.to exit_with 1
+ @logs.first.message.should =~ /has no 'something_I_cannot_do' action/
+ end
+ end
+
it "should report a sensible error when options with = fail" do
app.command_line.stubs(:args).returns %w{--action=bar foo}
expect { app.preinit; app.parse_options }.