Skip to content

Commit

Permalink
Wrap apply_manifest into RSpec context; initialise litmus earlier
Browse files Browse the repository at this point in the history
This fixes the following error by exposing the necessary PuppetLitmus context:

```
An error occurred while loading ./spec/acceptance/01_apt_class_spec.rb.
Failure/Error: apply_manifest(lsb_package)
NameError:
  undefined local variable or method `os' for main:Object
# ./vendor/bundle/ruby/2.5.0/gems/puppet_litmus-0.22.0/lib/puppet_litmus/puppet_helpers.rb:86:in `block in apply_manifest'
# ./vendor/bundle/ruby/2.5.0/gems/honeycomb-beeline-2.4.0/lib/honeycomb/client.rb:70:in `start_span'
# ./vendor/bundle/ruby/2.5.0/gems/puppet_litmus-0.22.0/lib/puppet_litmus/puppet_helpers.rb:41:in `apply_manifest'
# ./spec/spec_helper_acceptance_local.rb:17:in `<top (required)>'
# ./spec/spec_helper_acceptance.rb:4:in `require'
# ./spec/spec_helper_acceptance.rb:4:in `<top (required)>'
# ./spec/acceptance/01_apt_class_spec.rb:3:in `require'
# ./spec/acceptance/01_apt_class_spec.rb:3:in `<top (required)>'
```
  • Loading branch information
DavidS committed Feb 3, 2021
1 parent df48cfd commit 3f2b1e3
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 8 deletions.
4 changes: 2 additions & 2 deletions spec/spec_helper_acceptance.rb
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# frozen_string_literal: true

require 'puppet_litmus'
require 'spec_helper_acceptance_local' if File.file?(File.join(File.dirname(__FILE__), 'spec_helper_acceptance_local.rb'))

PuppetLitmus.configure!

require 'spec_helper_acceptance_local' if File.file?(File.join(File.dirname(__FILE__), 'spec_helper_acceptance_local.rb'))
16 changes: 10 additions & 6 deletions spec/spec_helper_acceptance_local.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,20 @@
RETRY_WAIT = 3
ERROR_MATCHER = %r{(no valid OpenPGP data found|keyserver timed out|keyserver receive failed)}.freeze

# lsb-release is needed for facter 3 (puppet 6) to resolve os.distro facts. Not needed with facter
# 4 (puppet 7).
lsb_package = <<-MANIFEST
RSpec.configure do |c|
c.before :suite do
# lsb-release is needed for facter 3 (puppet 6) to resolve os.distro facts. Not needed with facter
# 4 (puppet 7).
lsb_package = <<-MANIFEST
package { 'lsb-release':
ensure => installed,
}
MANIFEST

include PuppetLitmus
apply_manifest(lsb_package)
include PuppetLitmus
extend PuppetLitmus
apply_manifest(lsb_package)
end
end

# This method allows a block to be passed in and if an exception is raised
# that matches the 'error_matcher' matcher, the block will wait a set number
Expand Down

0 comments on commit 3f2b1e3

Please sign in to comment.