diff options
author | Jeff McCune <jeff@puppetlabs.com> | 2012-08-20 13:57:09 -0700 |
---|---|---|
committer | Jeff McCune <jeff@puppetlabs.com> | 2012-08-20 13:57:09 -0700 |
commit | 44929130f9c65a3bfd702bb95cb8c7e636c845d1 (patch) | |
tree | 240490fc8ce2089c4e9ba5d01e6c15da0e3b06ef /spec/unit | |
parent | 88789e887c29046cf9059962eca0bfb06c9f1f91 (diff) | |
download | puppet-stdlib-44929130f9c65a3bfd702bb95cb8c7e636c845d1.tar.gz puppet-stdlib-44929130f9c65a3bfd702bb95cb8c7e636c845d1.tar.bz2 |
(Maint) Fix mis-use of rvalue functions as statements
Without this patch applied the spec tests are invalid because they call
rvalue functions as if they were statements. This is a problem because
Puppet 2.7.x currently throws an exception if a rvalue function is
invoked as if it were a statement function. This exception from Puppet
is causing tests to fail.
This patch fixes the problem by changing the tests to assign the return
value of the functions to a variable. This fixes the problem by
invoking the functions properly.
Paired-with: Andrew Parker <andy@puppetlabs.com>
Diffstat (limited to 'spec/unit')
-rw-r--r-- | spec/unit/puppet/parser/functions/getvar_spec.rb | 4 | ||||
-rw-r--r-- | spec/unit/puppet/parser/functions/has_key_spec.rb | 6 | ||||
-rw-r--r-- | spec/unit/puppet/parser/functions/merge_spec.rb | 4 |
3 files changed, 7 insertions, 7 deletions
diff --git a/spec/unit/puppet/parser/functions/getvar_spec.rb b/spec/unit/puppet/parser/functions/getvar_spec.rb index 16edd98..271f15e 100644 --- a/spec/unit/puppet/parser/functions/getvar_spec.rb +++ b/spec/unit/puppet/parser/functions/getvar_spec.rb @@ -23,12 +23,12 @@ describe Puppet::Parser::Functions.function(:getvar) do describe 'when calling getvar from puppet' do it "should not compile when no arguments are passed" do - Puppet[:code] = 'getvar()' + Puppet[:code] = '$rval = getvar()' get_scope expect { @scope.compiler.compile }.should raise_error(Puppet::ParseError, /wrong number of arguments/) end it "should not compile when too many arguments are passed" do - Puppet[:code] = 'getvar("foo::bar", "baz")' + Puppet[:code] = '$rval = getvar("foo::bar", "baz")' get_scope expect { @scope.compiler.compile }.should raise_error(Puppet::ParseError, /wrong number of arguments/) end diff --git a/spec/unit/puppet/parser/functions/has_key_spec.rb b/spec/unit/puppet/parser/functions/has_key_spec.rb index d1dcd15..bf91509 100644 --- a/spec/unit/puppet/parser/functions/has_key_spec.rb +++ b/spec/unit/puppet/parser/functions/has_key_spec.rb @@ -22,15 +22,15 @@ describe Puppet::Parser::Functions.function(:has_key) do describe 'when calling has_key from puppet' do it "should not compile when no arguments are passed" do - Puppet[:code] = 'has_key()' + Puppet[:code] = '$rval = has_key()' expect { compiler.compile }.should raise_error(Puppet::ParseError, /wrong number of arguments/) end it "should not compile when 1 argument is passed" do - Puppet[:code] = "has_key('foo')" + Puppet[:code] = "$rval = has_key('foo')" expect { compiler.compile }.should raise_error(Puppet::ParseError, /wrong number of arguments/) end it "should require the first value to be a Hash" do - Puppet[:code] = "has_key('foo', 'bar')" + Puppet[:code] = "$rval = has_key('foo', 'bar')" expect { compiler.compile }.should raise_error(Puppet::ParseError, /expects the first argument to be a hash/) end end diff --git a/spec/unit/puppet/parser/functions/merge_spec.rb b/spec/unit/puppet/parser/functions/merge_spec.rb index 71e1869..a91dca7 100644 --- a/spec/unit/puppet/parser/functions/merge_spec.rb +++ b/spec/unit/puppet/parser/functions/merge_spec.rb @@ -22,11 +22,11 @@ describe Puppet::Parser::Functions.function(:merge) do describe 'when calling merge from puppet' do it "should not compile when no arguments are passed" do - Puppet[:code] = 'merge()' + Puppet[:code] = '$rval = merge()' expect { compiler.compile }.should raise_error(Puppet::ParseError, /wrong number of arguments/) end it "should not compile when 1 argument is passed" do - Puppet[:code] = "$my_hash={'one' => 1}\nmerge($my_hash)" + Puppet[:code] = "$my_hash={'one' => 1}\n$rval = merge($my_hash)" expect { compiler.compile }.should raise_error(Puppet::ParseError, /wrong number of arguments/) end end |