Comment below. On Feb 12, 2011, at 12:27 PM, Daniel Pittman wrote:
> 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 This is generally how I've run these tests, but I've generally preferred a test per item - that way you get a more informed failure when there's a problem. E.g., you get "cert was not in application list" instead of "expected true but got false". This test is now stable, but failures won't be very readable. > + 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. > -- Venter's First Law: Discoveries made in a field by some one from another discipline will always be upsetting to the majority of those inside. --------------------------------------------------------------------- Luke Kanies -|- http://puppetlabs.com -|- +1(615)594-8199 -- 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.
