From 3cd869651beb0114580016aba46d2eda4a094523 Mon Sep 17 00:00:00 2001 From: "Bob W. Hogg" Date: Tue, 14 Mar 2017 22:38:43 -0700 Subject: [PATCH] Add test fixtures for ELF executables Add test/support/fixtures/elf/ and test/support/fixtures/tarballs/testball-0.1-linux.tbz --- Library/Homebrew/test/cleaner_spec.rb | 14 +++++++++++++- Library/Homebrew/test/cmd/install_spec.rb | 2 +- Library/Homebrew/test/spec_helper.rb | 4 ++++ Library/Homebrew/test/support/fixtures/elf/hello | Bin 0 -> 6312 bytes .../test/support/fixtures/elf/libhello.so.0 | Bin 0 -> 6312 bytes .../fixtures/tarballs/testball-0.1-linux.tbz | Bin 0 -> 3253 bytes .../spec/shared_context/integration_test.rb | 9 +++++++-- Library/Homebrew/test/support/lib/config.rb | 1 - 8 files changed, 25 insertions(+), 5 deletions(-) create mode 100755 Library/Homebrew/test/support/fixtures/elf/hello create mode 100755 Library/Homebrew/test/support/fixtures/elf/libhello.so.0 create mode 100644 Library/Homebrew/test/support/fixtures/tarballs/testball-0.1-linux.tbz diff --git a/Library/Homebrew/test/cleaner_spec.rb b/Library/Homebrew/test/cleaner_spec.rb index 116f00dff2..6e603da0e8 100644 --- a/Library/Homebrew/test/cleaner_spec.rb +++ b/Library/Homebrew/test/cleaner_spec.rb @@ -12,7 +12,7 @@ describe Cleaner do end describe "#clean" do - it "cleans files" do + it "cleans files", :needs_macos do f.bin.mkpath f.lib.mkpath cp "#{TEST_FIXTURE_DIR}/mach/a.out", f.bin @@ -26,6 +26,18 @@ describe Cleaner do expect((f.lib/"i386.dylib").stat.mode).to eq(0100444) end + it "cleans files", :needs_linux do + f.bin.mkpath + f.lib.mkpath + cp "#{TEST_FIXTURE_DIR}/elf/hello", f.bin + cp Dir["#{TEST_FIXTURE_DIR}/elf/libhello.so.0"], f.lib + + subject.clean + + expect((f.bin/"hello").stat.mode).to eq(0100555) + expect((f.lib/"libhello.so.0").stat.mode).to eq(0100555) + end + it "prunes the prefix if it is empty" do subject.clean expect(f.prefix).not_to be_a_directory diff --git a/Library/Homebrew/test/cmd/install_spec.rb b/Library/Homebrew/test/cmd/install_spec.rb index 8a9f7a0d2e..f0e8a4112c 100644 --- a/Library/Homebrew/test/cmd/install_spec.rb +++ b/Library/Homebrew/test/cmd/install_spec.rb @@ -71,7 +71,7 @@ describe "brew install", :integration_test do devel do url "#{Formulary.factory("testball1").stable.url}" - sha256 "#{TESTBALL_SHA256}" + sha256 "#{Formulary.factory("testball1").stable.checksum.hexdigest}" version "3.0" end EOS diff --git a/Library/Homebrew/test/spec_helper.rb b/Library/Homebrew/test/spec_helper.rb index c3652fc42c..d3da25dd82 100644 --- a/Library/Homebrew/test/spec_helper.rb +++ b/Library/Homebrew/test/spec_helper.rb @@ -61,6 +61,10 @@ RSpec.configure do |config| skip "Needs official command Taps." unless ENV["HOMEBREW_TEST_OFFICIAL_CMD_TAPS"] end + config.before(:each, :needs_linux) do + skip "Not on Linux." unless OS.linux? + end + config.before(:each, :needs_macos) do skip "Not on macOS." unless OS.mac? end diff --git a/Library/Homebrew/test/support/fixtures/elf/hello b/Library/Homebrew/test/support/fixtures/elf/hello new file mode 100755 index 0000000000000000000000000000000000000000..76b86f02d7a6b6c3cb8985a00d3083b72b31e296 GIT binary patch literal 6312 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 literal 0 HcmV?d00001 diff --git a/Library/Homebrew/test/support/fixtures/tarballs/testball-0.1-linux.tbz b/Library/Homebrew/test/support/fixtures/tarballs/testball-0.1-linux.tbz new file mode 100644 index 0000000000000000000000000000000000000000..5ca2be071ffdf1e8ea0ac84e7de32eaaa1025bb6 GIT binary patch literal 3253 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