summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Pittman <daniel@rimspace.net>2011-02-12 12:09:27 -0800
committerMatt Robinson <matt@puppetlabs.com>2011-02-14 10:49:03 -0800
commit193016dd152ff17ba94867897656ddca41621b3e (patch)
tree55e262243e2136c4f9f475cfe2789c9cbfecad4b
parentc08fc1bd31431012f20d2e2033debc2c409bb620 (diff)
downloadpuppet-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.rb13
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