diff options
| author | sersut <serdar@opscode.com> | 2013-10-21 21:45:02 -0700 |
|---|---|---|
| committer | sersut <serdar@opscode.com> | 2013-10-31 15:13:38 -0700 |
| commit | 6767d88d9dbba41da91afef8d102dfec7ac36fdf (patch) | |
| tree | 6da5cf3cde1633b71551767ed41486f312ebf890 | |
| parent | ce4cb2562af999347e26fa290d2d1ddf8deafd92 (diff) | |
| download | chef-6767d88d9dbba41da91afef8d102dfec7ac36fdf.tar.gz | |
Enable integration tests.
Use bundle exec to run rspec.
Launch chef-client with ruby so that it launches correctly on windows.
| -rw-r--r-- | ci/jenkins_run_tests.bat | 15 | ||||
| -rw-r--r-- | spec/integration/client/client_spec.rb | 13 |
2 files changed, 17 insertions, 11 deletions
diff --git a/ci/jenkins_run_tests.bat b/ci/jenkins_run_tests.bat index 4d1b1d1477..ba9cedd5e2 100644 --- a/ci/jenkins_run_tests.bat +++ b/ci/jenkins_run_tests.bat @@ -1,9 +1,14 @@ -set PATH=C:\Ruby192\bin;%PATH% - ruby -v -call bundle install --binstubs --without docgen --path vendor/bundle || ( call rm Gemfile.lock && call bundle install --binstubs --path vendor/bundle ) -ruby bin\rspec -r rspec_junit_formatter -f RspecJunitFormatter -o test.xml -f documentation spec/functional spec/unit spec/stress -set RSPEC_ERRORLVL=%ERRORLEVEL% +call bundle check + +if %ERRORLEVEL% NEQ 0 ( + call rm Gemfile.lock + call bundle install --without docgen --path vendor/bundle +) + +bundle exec rspec -r rspec_junit_formatter -f RspecJunitFormatter -o test.xml -f documentation spec/functional spec/unit spec/stress spec/integration + +set RSPEC_ERRORLVL=%ERRORLEVEL% REM Return the error level from rspec exit /B %RSPEC_ERRORLVL% diff --git a/spec/integration/client/client_spec.rb b/spec/integration/client/client_spec.rb index 839899d059..ffdded10e8 100644 --- a/spec/integration/client/client_spec.rb +++ b/spec/integration/client/client_spec.rb @@ -22,19 +22,19 @@ EOM context 'and no config file' do it 'should complete with success when cwd is just above cookbooks and paths are not specified' do chef_dir = File.expand_path(File.join(File.dirname(__FILE__), "..", "..", "..", "bin")) - result = shell_out("#{chef_dir}/chef-client -z -o 'x::default' --config-file-jail \"#{path_to('')}\"", :cwd => path_to('')) + result = shell_out("ruby #{chef_dir}/chef-client -z -o 'x::default' --config-file-jail \"#{path_to('')}\"", :cwd => path_to('')) result.error! end it 'should complete with success when cwd is below cookbooks and paths are not specified' do chef_dir = File.expand_path(File.join(File.dirname(__FILE__), "..", "..", "..", "bin")) - result = shell_out("#{chef_dir}/chef-client -z -o 'x::default' --config-file-jail \"#{path_to('')}\"", :cwd => path_to('cookbooks/x')) + result = shell_out("ruby #{chef_dir}/chef-client -z -o 'x::default' --config-file-jail \"#{path_to('')}\"", :cwd => path_to('cookbooks/x')) result.error! end it 'should fail when cwd is below high above and paths are not specified' do chef_dir = File.expand_path(File.join(File.dirname(__FILE__), "..", "..", "..", "bin")) - result = shell_out("#{chef_dir}/chef-client -z -o 'x::default' --config-file-jail \"#{path_to('')}\"", :cwd => File.expand_path('..', path_to(''))) + result = shell_out("ruby #{chef_dir}/chef-client -z -o 'x::default' --config-file-jail \"#{path_to('')}\"", :cwd => File.expand_path('..', path_to(''))) result.exitstatus.should == 1 end end @@ -44,13 +44,14 @@ EOM it 'should load .chef/knife.rb when -z is specified' do chef_dir = File.expand_path(File.join(File.dirname(__FILE__), "..", "..", "..", "bin")) - result = shell_out("#{chef_dir}/chef-client -z -o 'x::default' --config-file-jail \"#{path_to('')}\"", :cwd => path_to('')) - result.exitstatus.should == 2 + result = shell_out("ruby #{chef_dir}/chef-client -z -o 'x::default' --config-file-jail \"#{path_to('')}\"", :cwd => path_to('')) + # FATAL: Configuration error NoMethodError: undefined method `xxx' for nil:NilClass + result.stdout.should include("xxx") end it 'fails to load .chef/knife.rb when -z is specified and --config-file-jail does not include the .chef/knife.rb' do chef_dir = File.expand_path(File.join(File.dirname(__FILE__), "..", "..", "..", "bin")) - result = shell_out("#{chef_dir}/chef-client -z -o 'x::default' --config-file-jail \"#{path_to('roles')}\"", :cwd => path_to('')) + result = shell_out("ruby #{chef_dir}/chef-client -z -o 'x::default' --config-file-jail \"#{path_to('roles')}\"", :cwd => path_to('')) result.error! end end |
