On 2014-01-05 11:18, KomodoDave wrote:
Thanks for the response, Henrik.

I’ve tried what you suggested already:

|node=Puppet::Node.new('localhost')
compiler=Puppet::Parser::Compiler.new(node)
scope=Puppet::Parser::Scope.new(compiler)
|

..but the result is:

|
/usr/lib/ruby/vendor_ruby/puppet/context.rb:43:in `lookup': no 'environments' in 
{:root_environment=>#<Puppet::Node::Environment:0x7f31f0383230 @modulepath=[], @name=:"*root*", 
@manifest="path_to_my_script_dir">, :current_environment=>#<Puppet::Node::Environment:0x7f31f0383230 @modulepath=[], 
@name=:"*root*", @manifest="path_to_my_script_dir">} at top of [] (Puppet::Context::UndefinedBindingError)
|

..where |path_to_my_script_dir| is the absolute path of the directory
containing my ruby script.

Is there a way for me to set up the correct context and/or environments
mentioned in this error message?


Sorry, your function is obviously not inside puppet itself and needs to be setup. Look at how tests are done for functions in puppet-stdlib, it uses rspec-puppet to help with setting up things for the tests.

https://github.com/puppetlabs/puppetlabs-stdlib/tree/master/spec/functions

Hope that helps.

- henrik

--
You received this message because you are subscribed to the Google Groups "Puppet 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/5363A91A.4000405%40cloudsmith.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to