From: Daniel Pittman <[email protected]>
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.
---
spec/unit/util/command_line_spec.rb | 13 +++++++++----
1 files changed, 9 insertions(+), 4 deletions(-)
mode change 100644 => 100755 spec/unit/util/command_line_spec.rb
diff --git a/spec/unit/util/command_line_spec.rb
b/spec/unit/util/command_line_spec.rb
old mode 100644
new mode 100755
index a648eb4..98ddb92
--- 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
--
1.7.4
--
You received this message because you are subscribed to the Google Groups
"Puppet Developers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/puppet-dev?hl=en.