I was writing some basic RSpec tests for a puppet module this morning, methodically adding in fixtures and hiera data items to get the module to compile under the spec tests.
Then I hit this error:
Failures: 1) profile_puppet::master supported operating systems profile_puppet::master class without any parameters on redhat 6.4 should compile into a catalogue without dependency cycles Failure/Error: it { should compile.with_all_deps } NoMethodError: undefined method `groups' for nil:NilClass # ./spec/classes/init_spec.rb:36:in `block (5 levels) in '
Uh oh, that doesn't look good. I did what I always do in such circumstances and googled the error message: puppet NoMethodError: undefined method `groups' for nil:NilClass
. The first hit was https://tickets.puppetlabs.com/browse/PUP-1547 which describes my situation completely (I am testing for RHEL 6.4 on OSX).
What's even better is that the ticket was updated 3 days ago with a pull request that fixes the issue. I applied the change locally, it worked perfectly, and I was able to complete my task.
Try doing that with proprietary software.