The test in spec/integration/parser/functions_spec.rb would fail when
the spec tests were run in the order (among other orderings):

  spec/unit/parser/functions/tag_spec.rb
  spec/unit/parser/templatewrapper_spec.rb
  spec/integration/parser/functions_spec.rb

There are tests that would cause the "template" function to be loaded
into the root environment.
Puppet::Parser::Functions.function("template") would then detect its
presence and P::P::F.rmfunction("template") would fail since #function(...)
looks in more than just the current environment to see if a function
is defined, while #rmfunction(...) only looks in the current
environment to see if a function can be removed.

In the test ordering specified earlier, tag_spec.rb would load the
"template" function, and templatewrapper_spec.rb would create a
current environment that would mask the root environment for #rmfunction(...),
but not for #function(...)

Since #rmfunction(...) only looks in the current environment, we
should be using #functions.include?("template") since that matches the
check that #rmfunction(...) itself uses.

Paired-with: Nick Lewis <[email protected]>
Signed-off-by: Jacob Helwig <[email protected]>
---
 spec/integration/parser/functions_spec.rb |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/spec/integration/parser/functions_spec.rb 
b/spec/integration/parser/functions_spec.rb
index 6791987..6a8fbca 100755
--- a/spec/integration/parser/functions_spec.rb
+++ b/spec/integration/parser/functions_spec.rb
@@ -3,7 +3,7 @@ require 'spec_helper'
 
 describe Puppet::Parser::Functions do
   before :each do
-    Puppet::Parser::Functions.rmfunction("template") if 
Puppet::Parser::Functions.function("template")
+    Puppet::Parser::Functions.rmfunction("template") if 
Puppet::Parser::Functions.functions.include?("template")
   end
 
   it "should support multiple threads autoloading the same function" do
-- 
1.7.5.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.

Reply via email to