summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorJeff McCune <jeff@puppetlabs.com>2011-10-10 11:58:48 -0700
committerJeff McCune <jeff@puppetlabs.com>2011-10-10 11:58:48 -0700
commitcc001095b3b22afd8a887e0c5d2c73e596513c1f (patch)
tree5e56ddb10819b8fc74b24e5aef2940af7a1be578 /spec
parent9f98d3feaf7e3fee55bc2b7b2e1d8f75b0972672 (diff)
(Maint) Make rspec tests work with Puppet 2.6.4
The behavior without this patch applied is that the rspec tests do not function with Puppet 2.6.4. This patch back-ports some fixes introduced in Puppet 2.7.x to the spec_helper to make the tests work as expected on Puppet 2.6.4. The specific patches back ported from Puppet are: * 2ae88067 (Puppet::Util::ExecutionStub.reset) * cf183534 (Switched spec tests to use a class rather than Array as the log destination.)
Diffstat (limited to 'spec')
-rw-r--r--spec/spec_helper.rb28
1 files changed, 27 insertions, 1 deletions
diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb
index fc19cef..87aac34 100644
--- a/spec/spec_helper.rb
+++ b/spec/spec_helper.rb
@@ -27,6 +27,32 @@ require 'puppet_spec/matchers'
require 'monkey_patches/alias_should_to_must'
require 'monkey_patches/publicize_methods'
+# JJM Hack to make the stdlib tests run in Puppet 2.6 (See puppet commit cf183534)
+if not Puppet.constants.include? "Test" then
+ module Puppet::Test
+ class LogCollector
+ def initialize(logs)
+ @logs = logs
+ end
+
+ def <<(value)
+ @logs << value
+ end
+ end
+ end
+ Puppet::Util::Log.newdesttype :log_collector do
+ match "Puppet::Test::LogCollector"
+
+ def initialize(messages)
+ @messages = messages
+ end
+
+ def handle(msg)
+ @messages << msg
+ end
+ end
+end
+
Pathname.glob("#{dir}/shared_behaviours/**/*.rb") do |behaviour|
require behaviour.relative_path_from(Pathname.new(dir))
end
@@ -66,7 +92,7 @@ RSpec.configure do |config|
Puppet.settings.clear
Puppet::Node::Environment.clear
Puppet::Util::Storage.clear
- Puppet::Util::ExecutionStub.reset
+ Puppet::Util::ExecutionStub.reset if Puppet::Util.constants.include? "ExecutionStub"
PuppetSpec::Files.cleanup