diff options
author | Daniel Pittman <daniel@rimspace.net> | 2011-02-12 12:09:27 -0800 |
---|---|---|
committer | Matt Robinson <matt@puppetlabs.com> | 2011-02-14 10:49:03 -0800 |
commit | 193016dd152ff17ba94867897656ddca41621b3e (patch) | |
tree | 55e262243e2136c4f9f475cfe2789c9cbfecad4b | |
parent | c08fc1bd31431012f20d2e2033debc2c409bb620 (diff) | |
download | puppet-193016dd152ff17ba94867897656ddca41621b3e.tar.gz |
(#5977) fix spec test failure when new applications are introduced.
The test here was previously fragile, in that it would break when new
applications were introduced, and in that it depended on the order of items
returned from reading the directories on disk.
It is now insensitive to those changes, and still verifies that the results we
require occur, reducing long term maintenance cost.
Reviewed-by: James Turnbull <james@puppetlabs.com>
-rwxr-xr-x[-rw-r--r--] | spec/unit/util/command_line_spec.rb | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/spec/unit/util/command_line_spec.rb b/spec/unit/util/command_line_spec.rb index a648eb4a1..98ddb92f6 100644..100755 --- a/spec/unit/util/command_line_spec.rb +++ b/spec/unit/util/command_line_spec.rb @@ -108,8 +108,8 @@ describe Puppet::Util::CommandLine do end describe 'when loading commands' do before do - @core_apps = ["describe", "filebucket", "kick", "queue", "resource", "agent", "cert", "apply", "doc", "master"] - @command_line = Puppet::Util::CommandLine.new("foo", %w{ client --help w hatever.pp }, @tty ) + @core_apps = %w{describe filebucket kick queue resource agent cert apply doc master} + @command_line = Puppet::Util::CommandLine.new("foo", %w{ client --help whatever.pp }, @tty ) end it 'should be able to find all existing commands' do @core_apps.each do |command| @@ -122,10 +122,15 @@ describe Puppet::Util::CommandLine do @appdir="#{@dir}/puppet/application" FileUtils.mkdir_p(@appdir) FileUtils.touch("#{@appdir}/foo.rb") - $LOAD_PATH.unshift(@dir) + $LOAD_PATH.unshift(@dir) # WARNING: MUST MATCH THE AFTER ACTIONS! end it 'should be able to find commands from both paths' do - @command_line.available_subcommands.should == ['foo'] + @core_apps + found = @command_line.available_subcommands + found.should include 'foo' + @core_apps.each { |cmd| found.should include cmd } + end + after do + $LOAD_PATH.shift # WARNING: MUST MATCH THE BEFORE ACTIONS! end end end |