From ba70a3885af452aea72d408f447c5bc7fd8bf0c0 Mon Sep 17 00:00:00 2001 From: Jeff McCune Date: Wed, 24 Oct 2012 16:59:43 -0700 Subject: (maint) Clear all facts before each example Without this patch example groups must explicitly call `Facter.clear` to clear any cached values between examples. This is a problem because this behavior is not the concern of the example groups, the behavior is the concern of the spec_helper or whatever facility we have in place to initialize the system for testing. This patch fixes the problem by duplicating the logic in the Facter spec_helper to ensure facts are cleared out before each example. This patch requires the example groups to explicitly load the facts they require if the fact name does not match the filename. --- spec/spec_helper.rb | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'spec/spec_helper.rb') diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 8ae9ad3..931d35c 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -12,3 +12,17 @@ require 'rspec/expectations' require 'puppetlabs_spec_helper/module_spec_helper' +RSpec.configure do |config| + # FIXME REVISIT - We may want to delegate to Facter like we do in + # Puppet::PuppetSpecInitializer.initialize_via_testhelper(config) because + # this behavior is a duplication of the spec_helper in Facter. + config.before :each do + # Ensure that we don't accidentally cache facts and environment between + # test cases. This requires each example group to explicitly load the + # facts being exercised with something like + # Facter.collection.loader.load(:ipaddress) + Facter::Util::Loader.any_instance.stubs(:load_all) + Facter.clear + Facter.clear_messages + end +end -- cgit v1.2.3 From d6d23b495cda0e154b4e73982acc43e586564c0e Mon Sep 17 00:00:00 2001 From: Jeff McCune Date: Thu, 25 Oct 2012 10:41:52 -0700 Subject: Revert "Merge branch 'haus-add_pe_facts_to_stdlib' into 2.4.x" This reverts commit 74e6411157b8df1af9a24c17971e3236f3096529, reversing changes made to 417d219aa6e42f2a16af42c98aa063fc1d9d2ecd. Here's why: Actually... I just screwed this up. I merged this new fact into 2.4.x but it's not fixing any bug. It's adding a new fact, so this should go into master and we should release 2.5 since this is new, backwards-compatible functionality. --- spec/spec_helper.rb | 14 -------------- 1 file changed, 14 deletions(-) (limited to 'spec/spec_helper.rb') diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 931d35c..8ae9ad3 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -12,17 +12,3 @@ require 'rspec/expectations' require 'puppetlabs_spec_helper/module_spec_helper' -RSpec.configure do |config| - # FIXME REVISIT - We may want to delegate to Facter like we do in - # Puppet::PuppetSpecInitializer.initialize_via_testhelper(config) because - # this behavior is a duplication of the spec_helper in Facter. - config.before :each do - # Ensure that we don't accidentally cache facts and environment between - # test cases. This requires each example group to explicitly load the - # facts being exercised with something like - # Facter.collection.loader.load(:ipaddress) - Facter::Util::Loader.any_instance.stubs(:load_all) - Facter.clear - Facter.clear_messages - end -end -- cgit v1.2.3 From ee05c32e49cadc2892fcf0e180bc74eacb1e96f9 Mon Sep 17 00:00:00 2001 From: Jeff McCune Date: Thu, 25 Oct 2012 10:43:51 -0700 Subject: Revert "Revert "Merge branch 'haus-add_pe_facts_to_stdlib' into 2.4.x"" This reverts commit d6d23b495cda0e154b4e73982acc43e586564c0e. Why? Because this change set should actually be in master and our merge-up process reverted the change set in master when I reverted from 2.4.x. This patch reverts the revert, restoring the original change set. --- spec/spec_helper.rb | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'spec/spec_helper.rb') diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 8ae9ad3..931d35c 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -12,3 +12,17 @@ require 'rspec/expectations' require 'puppetlabs_spec_helper/module_spec_helper' +RSpec.configure do |config| + # FIXME REVISIT - We may want to delegate to Facter like we do in + # Puppet::PuppetSpecInitializer.initialize_via_testhelper(config) because + # this behavior is a duplication of the spec_helper in Facter. + config.before :each do + # Ensure that we don't accidentally cache facts and environment between + # test cases. This requires each example group to explicitly load the + # facts being exercised with something like + # Facter.collection.loader.load(:ipaddress) + Facter::Util::Loader.any_instance.stubs(:load_all) + Facter.clear + Facter.clear_messages + end +end -- cgit v1.2.3