summaryrefslogtreecommitdiff
path: root/ci
diff options
context:
space:
mode:
authorSeth Chisamore <schisamo@getchef.com>2014-06-07 13:46:51 -0400
committerSeth Chisamore <schisamo@getchef.com>2014-06-11 00:50:18 -0500
commitfcac68e3f1d0ca259f019e87871b23f5a7b75570 (patch)
treefc3ddb2b7d68ee86fbe365f9af9a61b524c8f237 /ci
parent28dffd6db75adc4c6b05bd22fc2d1f0571a62446 (diff)
downloadohai-fcac68e3f1d0ca259f019e87871b23f5a7b75570.tar.gz
Execute tests with elevated privileges
Diffstat (limited to 'ci')
-rwxr-xr-xci/jenkins_run_tests.sh8
1 files changed, 6 insertions, 2 deletions
diff --git a/ci/jenkins_run_tests.sh b/ci/jenkins_run_tests.sh
index 5bf7def0..69dd052c 100755
--- a/ci/jenkins_run_tests.sh
+++ b/ci/jenkins_run_tests.sh
@@ -5,8 +5,12 @@ export PATH=$PATH:/usr/local/bin
ruby -v;
# remove the Gemfile.lock and try again if bundler fails.
# This should take care of Gemfile changes that result in "bad" bundles without forcing us to rebundle every time
-bundle install --without docgen --path vendor/bundle || ( rm Gemfile.lock && bundle install --path vendor/bundle )
-bundle exec rspec -r rspec_junit_formatter -f RspecJunitFormatter -o test.xml -f documentation spec;
+bundle install --binstubs --without docgen --path vendor/bundle || ( rm Gemfile.lock && bundle install --path vendor/bundle )
+# preserve the environment and $PATH of the `jenkins` user
+sudo -E bash -c "export PATH=$PATH && bin/rspec -r rspec_junit_formatter -f RspecJunitFormatter -o test.xml -f documentation spec"
+# Ensure Jenkins can clean this file up
+sudo chown $USER test.xml
+
RSPEC_RETURNCODE=$?
# exit with the result of running rspec