puppetlabs/puppetlabs-stdlib — pull request #82 by jeffmccune (2012-07-23 22:55:00+00:00)
Title: (Maint) Don't mock with mocha

Without this patch applied the stdlib module has load-order issues with mocha
and rspec-puppet. The root cause has yet to be determined, but we've
narrowed it down to this description:

"If any rspec-puppet example groups run before parser function example
groups
and the parser function example groups use mock() then you'll get this
error:"

You can exercise this explicitly with:

rspec -fd spec/unit/puppet/{provider,type,parser}

This will ensure rspec runs all of the provider and type spec tests, which
are rspec-puppet ones, before the parser function specs are run. I should
also note we empted out the test in the file_line provider to be nothing
except an empty describe block and this was still sufficient to trigger the
load order error described here.

Failures:

1) function_get_module_path when locating a module should be able to find module paths from the modulepath setting
Failure/Error: mod = mock("Puppet::Module")
NoMethodError:
undefined method `mock' for #
# ./spec/unit/puppet/parser/functions/get_module_path_spec.rb:21
# ./spec/unit/puppet/parser/functions/get_module_path_spec.rb:29

2) function_get_module_path when locating a module should be able to find module paths when the modulepath is a list
Failure/Error: mod = mock("Puppet::Module")
NoMethodError:
undefined method `mock' for #
# ./spec/unit/puppet/parser/functions/get_module_path_spec.rb:21
# ./spec/unit/puppet/parser/functions/get_module_path_spec.rb:34

3) function_get_module_path when locating a module should respect the environment
Failure/Error: mod = mock("Puppet::Module")
NoMethodError:
undefined method `mock' for #
# ./spec/unit/puppet/parser/functions/get_module_path_spec.rb:21
# ./spec/unit/puppet/parser/functions/get_module_path_spec.rb:40

Finished in 1.53 seconds
326 examples, 3 failures, 1 pending

Paired-with: Andrew Parker