Default to sudo: false for installer/uninstall :script.

This commit is contained in:
Markus Reiter 2017-03-12 22:09:13 +01:00
parent b7e7b5b5c9
commit 2b4c3ee1d7
3 changed files with 24 additions and 27 deletions

View File

@ -16,7 +16,7 @@ module Hbc
else
executable, script_arguments = self.class.read_script_arguments(artifact.script,
self.class.artifact_dsl_key.to_s,
{ must_succeed: true, sudo: true },
{ must_succeed: true, sudo: false },
print_stdout: true)
ohai "Running #{self.class.artifact_dsl_key} script #{executable}"
raise CaskInvalidError.new(@cask, "#{self.class.artifact_dsl_key} missing executable") if executable.nil?

View File

@ -163,7 +163,7 @@ module Hbc
def uninstall_script(directives, directive_name: :script)
executable, script_arguments = self.class.read_script_arguments(directives,
"uninstall",
{ must_succeed: true, sudo: true },
{ must_succeed: true, sudo: false },
{ print_stdout: true },
directive_name)

View File

@ -216,35 +216,32 @@ shared_examples "#uninstall_phase or #zap_phase" do
end
end
context "using :script" do
let(:cask) { Hbc::CaskLoader.load_from_file(TEST_FIXTURE_DIR/"cask/Casks/with-#{artifact_name}-script.rb") }
let(:script_pathname) { cask.staged_path.join("MyFancyPkg", "FancyUninstaller.tool") }
[:script, :early_script].each do |script_type|
context "using #{script_type.inspect}" do
let(:fake_system_command) { Hbc::NeverSudoSystemCommand }
let(:token) { "with-#{artifact_name}-#{script_type}".tr("_", "-") }
let(:cask) { Hbc::CaskLoader.load_from_file(TEST_FIXTURE_DIR/"cask/Casks/#{token}.rb") }
let(:script_pathname) { cask.staged_path.join("MyFancyPkg", "FancyUninstaller.tool") }
it "is supported" do
Hbc::FakeSystemCommand.expects_command(%w[/bin/chmod -- +x] + [script_pathname])
it "is supported" do
allow(fake_system_command).to receive(:run).with(any_args).and_call_original
Hbc::FakeSystemCommand.expects_command(
sudo(cask.staged_path.join("MyFancyPkg", "FancyUninstaller.tool"), "--please"),
)
expect(fake_system_command).to receive(:run).with(
"/bin/chmod",
args: ["--", "+x", script_pathname],
)
InstallHelper.install_without_artifacts(cask)
subject
end
end
expect(fake_system_command).to receive(:run).with(
cask.staged_path.join("MyFancyPkg", "FancyUninstaller.tool"),
args: ["--please"],
must_succeed: true,
print_stdout: true,
sudo: false,
)
context "using :early_script" do
let(:cask) { Hbc::CaskLoader.load_from_file(TEST_FIXTURE_DIR/"cask/Casks/with-#{artifact_name}-early-script.rb") }
let(:script_pathname) { cask.staged_path.join("MyFancyPkg", "FancyUninstaller.tool") }
it "is supported" do
Hbc::FakeSystemCommand.expects_command(%w[/bin/chmod -- +x] + [script_pathname])
Hbc::FakeSystemCommand.expects_command(
sudo(cask.staged_path.join("MyFancyPkg", "FancyUninstaller.tool"), "--please"),
)
InstallHelper.install_without_artifacts(cask)
subject
InstallHelper.install_without_artifacts(cask)
subject
end
end
end