jenkins@slave01:~/workspace/Puppet Module - stdlib (2.3.x)/facter/1.6.x/puppet/2.7.x/ruby/ruby-1.8.7/rvm/#rvm$ rspec -fd --order random:123 spec -d /usr/lib/ruby/gems/1.8/gems/mocha-0.9.10/lib/mocha.rb:2 require 'mocha/options' (rdb:1) e puts caller(0) /usr/lib/ruby/gems/1.8/gems/mocha-0.9.10/lib/mocha.rb:2:in `gem_original_require' /usr/lib/ruby/gems/1.8/gems/mocha-0.9.10/lib/mocha.rb:2:in `gem_original_require' /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' /home/jenkins/workspace/Puppet Module - stdlib (2.3.x)/facter/1.6.x/puppet/2.7.x/ruby/ruby-1.8.7/rvm/#rvm/vendor/puppetlabs_spec_helper/lib/puppetlabs_spec_helper/puppet_spec_helper.rb:14 /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require' /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' /home/jenkins/workspace/Puppet Module - stdlib (2.3.x)/facter/1.6.x/puppet/2.7.x/ruby/ruby-1.8.7/rvm/#rvm/vendor/puppetlabs_spec_helper/lib/puppetlabs_spec_helper/module_spec_helper.rb:1 /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require' /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' /home/jenkins/workspace/Puppet Module - stdlib (2.3.x)/facter/1.6.x/puppet/2.7.x/ruby/ruby-1.8.7/rvm/#rvm/spec/spec_helper.rb:11 /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require' /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' /home/jenkins/workspace/Puppet Module - stdlib (2.3.x)/facter/1.6.x/puppet/2.7.x/ruby/ruby-1.8.7/rvm/#rvm/spec/unit/puppet/parser/functions/num2bool_spec.rb:2 /usr/lib/ruby/gems/1.8/gems/rspec-core-2.8.0/lib/rspec/core/configuration.rb:698:in `load' /usr/lib/ruby/gems/1.8/gems/rspec-core-2.8.0/lib/rspec/core/configuration.rb:698:in `load_spec_files' /usr/lib/ruby/gems/1.8/gems/rspec-core-2.8.0/lib/rspec/core/configuration.rb:698:in `map' /usr/lib/ruby/gems/1.8/gems/rspec-core-2.8.0/lib/rspec/core/configuration.rb:698:in `load_spec_files' /usr/lib/ruby/gems/1.8/gems/rspec-core-2.8.0/lib/rspec/core/command_line.rb:22:in `run' /usr/lib/ruby/gems/1.8/gems/rspec-core-2.8.0/lib/rspec/core/runner.rb:80:in `run_in_process' /usr/lib/ruby/gems/1.8/gems/rspec-core-2.8.0/lib/rspec/core/runner.rb:69:in `run' /usr/lib/ruby/gems/1.8/gems/rspec-core-2.8.0/lib/rspec/core/runner.rb:10 /usr/bin/rspec:19 nil (rdb:1) l = [-3, 5] in /usr/lib/ruby/gems/1.8/gems/mocha-0.9.10/lib/mocha.rb 1 debugger => 2 require 'mocha/options' 3 require 'mocha_standalone' 4 require 'mocha/configuration' 5 require 'mocha/integration'
jenkins@slave01:~/workspace/Puppet Module - stdlib (2.3.x)/facter/1.6.x/puppet/2.7.x/ruby/ruby-1.8.7/rvm/#rvm$ rspec -fd --order random:123 -d spec/unit/puppet/parser/functions/get_module_path_spec.rb /usr/lib/ruby/gems/1.8/gems/mocha-0.9.10/lib/mocha.rb:2 require 'mocha/options' (rdb:1) puts caller(0) *** Unknown command: "puts caller(0)". Try "help". (rdb:1) irb irb(main):001:0> puts caller(0) (irb):1:in `gem_original_require' /usr/lib/ruby/gems/1.8/gems/mocha-0.9.10/lib/mocha.rb:2:in `gem_original_require' /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' /home/jenkins/workspace/Puppet Module - stdlib (2.3.x)/facter/1.6.x/puppet/2.7.x/ruby/ruby-1.8.7/rvm/#rvm/vendor/puppetlabs_spec_helper/lib/puppetlabs_spec_helper/puppet_spec_helper.rb:14 /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require' /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' /home/jenkins/workspace/Puppet Module - stdlib (2.3.x)/facter/1.6.x/puppet/2.7.x/ruby/ruby-1.8.7/rvm/#rvm/vendor/puppetlabs_spec_helper/lib/puppetlabs_spec_helper/module_spec_helper.rb:1 /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require' /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' /home/jenkins/workspace/Puppet Module - stdlib (2.3.x)/facter/1.6.x/puppet/2.7.x/ruby/ruby-1.8.7/rvm/#rvm/spec/spec_helper.rb:11 /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require' /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' /home/jenkins/workspace/Puppet Module - stdlib (2.3.x)/facter/1.6.x/puppet/2.7.x/ruby/ruby-1.8.7/rvm/#rvm/spec/unit/puppet/parser/functions/get_module_path_spec.rb:2 /usr/lib/ruby/gems/1.8/gems/rspec-core-2.8.0/lib/rspec/core/configuration.rb:698:in `load' /usr/lib/ruby/gems/1.8/gems/rspec-core-2.8.0/lib/rspec/core/configuration.rb:698:in `load_spec_files' /usr/lib/ruby/gems/1.8/gems/rspec-core-2.8.0/lib/rspec/core/configuration.rb:698:in `map' /usr/lib/ruby/gems/1.8/gems/rspec-core-2.8.0/lib/rspec/core/configuration.rb:698:in `load_spec_files' /usr/lib/ruby/gems/1.8/gems/rspec-core-2.8.0/lib/rspec/core/command_line.rb:22:in `run' /usr/lib/ruby/gems/1.8/gems/rspec-core-2.8.0/lib/rspec/core/runner.rb:80:in `run_in_process' /usr/lib/ruby/gems/1.8/gems/rspec-core-2.8.0/lib/rspec/core/runner.rb:69:in `run' /usr/lib/ruby/gems/1.8/gems/rspec-core-2.8.0/lib/rspec/core/runner.rb:10 /usr/bin/rspec:19 => nil (rdb:1) l = [-3, 5] in /usr/lib/ruby/gems/1.8/gems/mocha-0.9.10/lib/mocha.rb 1 debugger => 2 require 'mocha/options' 3 require 'mocha_standalone' 4 require 'mocha/configuration' 5 require 'mocha/integration'
This appears to be a load order issue with RSpec Puppet tests
For example, the parser function test fails if the RSpec Puppet test runs first:
+ rspec -fd -d spec/unit/puppet/provider/file_line/ruby_spec.rb spec/unit/puppet/parser/functions/get_module_path_spec.rb
Puppet::Type::File_line::ProviderRuby
add
should detect if the line exists in the file
should detect if the line does not exist in the file
should append to an existing file when creating
remove
should remove the line if it exists
should remove the line without touching the last new line
should remove any occurence of the line
function_get_module_path
should only allow one argument
should raise an exception when the module cannot be found
when locating a module
should be able to find module paths from the modulepath setting (FAILED - 1)
should be able to find module paths when the modulepath is a list (FAILED - 2)
should respect the environment (FAILED - 3)
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 0.06278 seconds
11 examples, 3 failures
Failed examples:
rspec ./spec/unit/puppet/parser/functions/get_module_path_spec.rb:28 # function_get_module_path when locating a module should be able to find module paths from the modulepath setting
rspec ./spec/unit/puppet/parser/functions/get_module_path_spec.rb:32 # function_get_module_path when locating a module should be able to find module paths when the modulepath is a list
rspec ./spec/unit/puppet/parser/functions/get_module_path_spec.rb:37 # function_get_module_path when locating a module should respect the environment
However, if the parser function test runs first, they all pass:
+ rspec -fd -d spec/unit/puppet/parser/functions/get_module_path_spec.rb spec/unit/puppet/provider/file_line/ruby_spec.rb
function_get_module_path
should only allow one argument
should raise an exception when the module cannot be found
when locating a module
should be able to find module paths from the modulepath setting
should be able to find module paths when the modulepath is a list
should respect the environment
Puppet::Type::File_line::ProviderRuby
add
should detect if the line exists in the file
should detect if the line does not exist in the file
should append to an existing file when creating
remove
should remove the line if it exists
should remove the line without touching the last new line
should remove any occurence of the line
Finished in 0.18329 seconds
11 examples, 0 failures