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

Fix test for `chmod +x` on binaries.

parent 13c33f56
No related branches found
No related tags found
No related merge requests found
......@@ -6,9 +6,7 @@ describe Hbc::Artifact::Binary, :cask do
end
end
}
let(:expected_path) {
Hbc.binarydir.join("binary")
}
let(:expected_path) { Hbc.binarydir.join("binary") }
before(:each) do
Hbc.binarydir.mkpath
......@@ -26,15 +24,28 @@ describe Hbc::Artifact::Binary, :cask do
expect(expected_path.readlink).to exist
end
it "makes the binary executable" do
expect(FileUtils).to receive(:chmod).with("+x", cask.staged_path.join("binary"))
context "when the binary is not executable" do
let(:cask) {
Hbc::CaskLoader.load_from_file(TEST_FIXTURE_DIR/"cask/Casks/with-non-executable-binary.rb").tap do |cask|
shutup do
InstallHelper.install_without_artifacts(cask)
end
end
}
shutup do
Hbc::Artifact::Binary.new(cask).install_phase
end
let(:expected_path) { Hbc.binarydir.join("naked_non_executable") }
expect(expected_path).to be_a_symlink
expect(expected_path.readlink).to be_executable
it "makes the binary executable" do
expect(FileUtils).to receive(:chmod)
.with("+x", cask.staged_path.join("naked_non_executable")).and_call_original
shutup do
Hbc::Artifact::Binary.new(cask).install_phase
end
expect(expected_path).to be_a_symlink
expect(expected_path.readlink).to be_executable
end
end
it "avoids clobbering an existing binary by linking over it" do
......
cask 'with-non-executable-binary' do
version '1.2.3'
sha256 'd5b2dfbef7ea28c25f7a77cd7fa14d013d82b626db1d82e00e25822464ba19e2'
url "file://#{TEST_FIXTURE_DIR}/cask/naked_non_executable"
homepage 'http://example.com/with-binary'
binary "naked_non_executable"
end
#!/bin/sh
exit 0
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