Please sign in to comment.
Use puppetlabs_spec_helper to test parser functions
Without this patch applied rspec-puppet reaches deep inside of Puppet and uses an unsupported and private interface to obtain functions and scope instances. This is a problem because Puppet Labs considers internal classes such as Puppet::Parser::Scope as private and internal. We change these classes without warning and this is a maintenance issue for third party testing tools. This patch fixes this maintenance problem by using the compatibility layer implemented in the puppetlabs_spec_helper. When we change the internal behavior of private classes such as Puppet::Parser::Scope, we'll update the spec helper module methods to provide a version agnostic way to get instances of these internal objects. As an example, a supported way to get a scope instance is: PuppetlabsSpec::PuppetInternals.scope Instead of the private and unsupported method of: Puppet::Parser::Scope.new This patch introduces a Gem dependency onto the puppetlabs_spec_helper gem.
- Loading branch information...
Showing with 16 additions and 5 deletions.