Merge branch '2.3.x' into 2.4.x

* 2.3.x:
  (#13439) Fix test failures with Puppet 2.6.x
  (#13439) refactor spec helper for compatibility with both puppet 2.7 and master
This commit is contained in:
Jeff McCune 2012-03-29 16:56:26 -07:00
commit 6b76c33865

View file

@ -63,22 +63,19 @@ RSpec.configure do |config|
config.before :each do
GC.disable
# these globals are set by Application
$puppet_application_mode = nil
$puppet_application_name = nil
# REVISIT: I think this conceals other bad tests, but I don't have time to
# fully diagnose those right now. When you read this, please come tell me
# I suck for letting this float. --daniel 2011-04-21
Signal.stubs(:trap)
# Set the confdir and vardir to gibberish so that tests
# have to be correctly mocked.
Puppet[:confdir] = "/dev/null"
Puppet[:vardir] = "/dev/null"
# We're using send because this is a private method to communicate it
# should only be used for tests. We're testing if it's defined to work
# with Puppet 2.6.x which does not have the method.
if Puppet.settings.private_methods.include? "initialize_everything_for_tests"
Puppet.settings.send(:initialize_everything_for_tests)
end
# Avoid opening ports to the outside world
Puppet.settings[:bindaddress] = "127.0.0.1"
@logs = []
Puppet::Util::Log.newdestination(Puppet::Test::LogCollector.new(@logs))
@ -87,7 +84,12 @@ RSpec.configure do |config|
end
config.after :each do
Puppet.settings.clear
# We're using send because this is a private method to communicate it
# should only be used for tests. We're testing if it's defined to work
# with Puppet 2.6.x which does not have the method at all.
if Puppet.settings.private_methods.include? "clear_everything_for_tests"
Puppet.settings.send(:clear_everything_for_tests)
end
Puppet::Node::Environment.clear
Puppet::Util::Storage.clear
Puppet::Util::ExecutionStub.reset if Puppet::Util.constants.include? "ExecutionStub"