Skip to content
Snippets Groups Projects
Commit 2b4c3ee1 authored by Markus Reiter's avatar Markus Reiter
Browse files

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

parent b7e7b5b5
No related branches found
No related tags found
No related merge requests found
......@@ -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?
......
......@@ -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)
......
......@@ -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") }
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
end
end
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"),
)
[: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") }
InstallHelper.install_without_artifacts(cask)
subject
it "is supported" do
allow(fake_system_command).to receive(:run).with(any_args).and_call_original
expect(fake_system_command).to receive(:run).with(
"/bin/chmod",
args: ["--", "+x", script_pathname],
)
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,
)
InstallHelper.install_without_artifacts(cask)
subject
end
end
end
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment