From cc001095b3b22afd8a887e0c5d2c73e596513c1f Mon Sep 17 00:00:00 2001 From: Jeff McCune Date: Mon, 10 Oct 2011 11:58:48 -0700 Subject: (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.) --- spec/spec_helper.rb | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) (limited to 'spec') 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 -- cgit v1.2.3