summaryrefslogtreecommitdiff
path: root/spec/unit/puppet
diff options
context:
space:
mode:
authorPatrick Carlisle <patrick@puppetlabs.com>2012-08-10 11:43:36 -0700
committerPatrick Carlisle <patrick@puppetlabs.com>2012-08-10 11:43:36 -0700
commite27eccb3567584d809c20cbf77baffcf99886200 (patch)
tree2b8311f8bc854a67c73bca6bbbbfa0553e5d4e79 /spec/unit/puppet
parent09322ad94398d69081aae44cc770830ac2144b75 (diff)
Disable tests that fail on 2.6.x due to #15912
In Puppet 2.6.x there is a bug where a function may be incorrectly detected as an rvalue when it is not, or not detected when it is. This means that in tests the correct syntax for calling a function will be rejected. This disables those tests on 2.6.x, as there is no straightforward way to write them to be compatible with both 2.6.x and newer versions of Puppet.
Diffstat (limited to 'spec/unit/puppet')
-rw-r--r--spec/unit/puppet/parser/functions/getvar_spec.rb3
-rw-r--r--spec/unit/puppet/parser/functions/has_key_spec.rb3
-rw-r--r--spec/unit/puppet/parser/functions/merge_spec.rb7
3 files changed, 13 insertions, 0 deletions
diff --git a/spec/unit/puppet/parser/functions/getvar_spec.rb b/spec/unit/puppet/parser/functions/getvar_spec.rb
index a8aeec1..5ff834e 100644
--- a/spec/unit/puppet/parser/functions/getvar_spec.rb
+++ b/spec/unit/puppet/parser/functions/getvar_spec.rb
@@ -6,6 +6,7 @@ describe Puppet::Parser::Functions.function(:getvar) do
describe 'when calling getvar from puppet' do
it "should not compile when no arguments are passed" do
+ pending("Fails on 2.6.x, see bug #15912") if Puppet.version =~ /^2\.6\./
Puppet[:code] = '$foo = getvar()'
expect {
scope.compiler.compile
@@ -13,6 +14,7 @@ describe Puppet::Parser::Functions.function(:getvar) do
end
it "should not compile when too many arguments are passed" do
+ pending("Fails on 2.6.x, see bug #15912") if Puppet.version =~ /^2\.6\./
Puppet[:code] = '$foo = getvar("foo::bar", "baz")'
expect {
scope.compiler.compile
@@ -20,6 +22,7 @@ describe Puppet::Parser::Functions.function(:getvar) do
end
it "should lookup variables in other namespaces" do
+ pending("Fails on 2.6.x, see bug #15912") if Puppet.version =~ /^2\.6\./
Puppet[:code] = <<-'ENDofPUPPETcode'
class site::data { $foo = 'baz' }
include site::data
diff --git a/spec/unit/puppet/parser/functions/has_key_spec.rb b/spec/unit/puppet/parser/functions/has_key_spec.rb
index b1eb0ff..490daea 100644
--- a/spec/unit/puppet/parser/functions/has_key_spec.rb
+++ b/spec/unit/puppet/parser/functions/has_key_spec.rb
@@ -6,6 +6,7 @@ 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
+ pending("Fails on 2.6.x, see bug #15912") if Puppet.version =~ /^2\.6\./
Puppet[:code] = '$x = has_key()'
expect {
scope.compiler.compile
@@ -13,6 +14,7 @@ describe Puppet::Parser::Functions.function(:has_key) do
end
it "should not compile when 1 argument is passed" do
+ pending("Fails on 2.6.x, see bug #15912") if Puppet.version =~ /^2\.6\./
Puppet[:code] = "$x = has_key('foo')"
expect {
scope.compiler.compile
@@ -20,6 +22,7 @@ describe Puppet::Parser::Functions.function(:has_key) do
end
it "should require the first value to be a Hash" do
+ pending("Fails on 2.6.x, see bug #15912") if Puppet.version =~ /^2\.6\./
Puppet[:code] = "$x = has_key('foo', 'bar')"
expect {
scope.compiler.compile
diff --git a/spec/unit/puppet/parser/functions/merge_spec.rb b/spec/unit/puppet/parser/functions/merge_spec.rb
index 192da4c..9218b9d 100644
--- a/spec/unit/puppet/parser/functions/merge_spec.rb
+++ b/spec/unit/puppet/parser/functions/merge_spec.rb
@@ -7,33 +7,40 @@ describe Puppet::Parser::Functions.function(:merge) do
describe 'when calling merge from puppet' do
it "should not compile when no arguments are passed" do
+ pending("Fails on 2.6.x, see bug #15912") if Puppet.version =~ /^2\.6\./
Puppet[:code] = '$x = merge()'
expect {
scope.compiler.compile
}.to raise_error(Puppet::ParseError, /wrong number of arguments/)
end
+
it "should not compile when 1 argument is passed" do
+ pending("Fails on 2.6.x, see bug #15912") if Puppet.version =~ /^2\.6\./
Puppet[:code] = "$my_hash={'one' => 1}\n$x = merge($my_hash)"
expect {
scope.compiler.compile
}.to raise_error(Puppet::ParseError, /wrong number of arguments/)
end
end
+
describe 'when calling merge on the scope instance' do
it 'should require all parameters are hashes' do
expect { new_hash = scope.function_merge([{}, '2'])}.should raise_error(Puppet::ParseError, /unexpected argument type String/)
end
+
it 'should be able to merge two hashes' do
new_hash = scope.function_merge([{'one' => '1', 'two' => '1'}, {'two' => '2', 'three' => '2'}])
new_hash['one'].should == '1'
new_hash['two'].should == '2'
new_hash['three'].should == '2'
end
+
it 'should merge multiple hashes' do
hash = scope.function_merge([{'one' => 1}, {'one' => '2'}, {'one' => '3'}])
hash['one'].should == '3'
end
+
it 'should accept empty hashes' do
scope.function_merge([{},{},{}]).should == {}
end