J'ai quelques tests d'acceptation beaker-rspec
couvrant un module Puppet que je crée, et je voudrais savoir comment activer la journalisation de débogage sur les appels Puppet sous-jacents (par exemple, savoir exactement ce qui se passe quand je appelez le apply_manifest
). Je suis assez sûr que j'ai été capable d'obtenir la notation de débogage fonctionnant sur Beaker lui-même (export BEAKER_debug=yes
?), Mais cela semble seulement me dire ce que fait Beaker, pas nécessairement Puppet.Comment activer le niveau de journalisation de débogage de Puppet de Beaker
Si elle aide, voici quelques extraits de fichiers pertinents:
spec/fixtures/spec_helper_acceptance.rb
require 'beaker-rspec/spec_helper'
require 'beaker-rspec/helpers/serverspec'
require 'beaker/librarian'
RSpec.configure do |c|
module_root = File.expand_path(File.join(File.dirname(__FILE__), '..'))
c.formatter = :documentation
# Configure all nodes in nodeset
c.before :suite do
install_puppet
install_librarian
librarian_install_modules(module_root, 'mymodule')
end
end
spec/acceptance/example_spec.rb
require 'spec_helper_acceptance'
apply_manifest_opts = {
:catch_failures => true,
# I seem to need this otherwise Puppet doesn't pick up the required modules.
# Is this where I can also enable debug logging in Puppet?
:modulepath => '/etc/puppetlabs/puppet/modules/',
}
default_pp = <<-EOS
class { 'mymodule': }
EOS
describe 'the mymodule class' do
describe 'given default params' do
it 'should return successfully' do
expect(apply_manifest(default_pp, apply_manifest_opts).exit_code).to be_zero
end
end
end
J'essaie vraiment de comprendre pourquoi le test échoue the mymodule class given default params should return successfully
, mais pour l'instant je reçois seulement
Failure/Error: expect(apply_manifest(default_pp, apply_manifest_opts).exit_code).to be_zero
expected `2.zero?` to return true, got false
ce qui n'est pas très utile. Voyez-vous mon problème?
Je vais accepter les réponses qui répondent à ma question directement, ou donnez-moi un autre moyen de calculer pourquoi le code de sortie est différent de zéro.