diff options
Diffstat (limited to 'Rakefile')
-rw-r--r-- | Rakefile | 11 |
1 files changed, 7 insertions, 4 deletions
@@ -57,15 +57,18 @@ namespace :spec do desc "Run the spec suite with the sudo tests" task :sudo => %w[set_sudo] do require "open3" + output, status = Open3.capture2e("sudo", "cp", "/etc/sudoers", "tmp/old_sudoers") + raise "Couldn't read sudoers file: #{output}" unless status.success? - output, status = Open3.capture2e("sudo sed -i '/secure_path/d' /etc/sudoers") - raise "Couldn't configure sudo to preserve path: #{output}" unless status.success? + begin + output, status = Open3.capture2e("sudo sed -i '/secure_path/d' /etc/sudoers") + raise "Couldn't configure sudo to preserve path: #{output}" unless status.success? - raise "Couldn't configure sudo correctly to preserve path" unless `ruby -v` == `sudo -E ruby -v` + raise "Couldn't configure sudo correctly to preserve path" unless `ruby -v` == `sudo -E ruby -v` - begin sh("sudo -E bin/rspec") ensure + system("sudo", "cp", "tmp/old_sudoers", "/etc/sudoers") system("sudo", "chown", "-R", ENV["USER"], "tmp") end end |