diff options
author | Jeff McCune <jeff@puppetlabs.com> | 2011-10-10 11:58:48 -0700 |
---|---|---|
committer | Jeff McCune <jeff@puppetlabs.com> | 2011-10-10 11:58:48 -0700 |
commit | cc001095b3b22afd8a887e0c5d2c73e596513c1f (patch) | |
tree | 5e56ddb10819b8fc74b24e5aef2940af7a1be578 | |
parent | 9f98d3feaf7e3fee55bc2b7b2e1d8f75b0972672 (diff) | |
download | puppet-stdlib-cc001095b3b22afd8a887e0c5d2c73e596513c1f.tar.gz puppet-stdlib-cc001095b3b22afd8a887e0c5d2c73e596513c1f.tar.bz2 |
(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.)
-rw-r--r-- | spec/spec_helper.rb | 28 |
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 |