Here is how to invoke the function 'fqdn_rand(30)' in irb
irb > require 'puppet'
irb > scope => Puppet::Parser::Scope.new_for_test_harness('localhost')
irb>> scope.function_fqnrand([30])
=> "1"
That may not work if your function requires a fully configured system.
If you need that set the breakpoint inside your function, and then
invoke with
puppet apply - i.e. puppet apply -e 'notice fqdn_rand(30)'
A good approach is to start with an rspec test for your function, then
you can invoke that when you want to debug. Look at
spec/unit/parser/functions/fqdn_rand_spec.rb for an example how to test
a function.
Hope that helps
- henrik
On 2013-17-09 14:19, Andrea Ieri wrote:
Hallo,
I'm developing a custom function that is exhibiting some odd behavior,
so I would like to debug it.
How do I load it in the ruby shell in a way that lets me execute it?
I have tried the steps on the documentation:
irb(main):001:0> require 'puppet'
=> true
irb(main):002:0> require 'phash2text.rb'
=> true
irb(main):003:0> Puppet::Parser::Functions.function(:hash2text)
=> "function_hash2text"
irb(main):004:0> function_hash2text
NameError: undefined local variable or method
`function_hash2text' for main:Object
from (irb):4
from :0
But how can I actually execute the function?
Thanks,
Andrea
--
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 puppet-users+unsubscr...@googlegroups.com.
To post to this group, send email to puppet-users@googlegroups.com.
Visit this group at http://groups.google.com/group/puppet-users.
For more options, visit https://groups.google.com/groups/opt_out.
--
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 puppet-users+unsubscr...@googlegroups.com.
To post to this group, send email to puppet-users@googlegroups.com.
Visit this group at http://groups.google.com/group/puppet-users.
For more options, visit https://groups.google.com/groups/opt_out.