aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBob W. Hogg2017-03-14 22:38:43 -0700
committerShaun Jackman2017-11-26 08:37:57 -0800
commit3cd869651beb0114580016aba46d2eda4a094523 (patch)
treed5a7986e3ee15325c661fe48a00657e3512b3d3d
parent73942088733a5539599eb7132b6fc458bd50d873 (diff)
downloadbrew-3cd869651beb0114580016aba46d2eda4a094523.tar.bz2
Add test fixtures for ELF executables
Add test/support/fixtures/elf/ and test/support/fixtures/tarballs/testball-0.1-linux.tbz
-rw-r--r--Library/Homebrew/test/cleaner_spec.rb14
-rw-r--r--Library/Homebrew/test/cmd/install_spec.rb2
-rw-r--r--Library/Homebrew/test/spec_helper.rb4
-rwxr-xr-xLibrary/Homebrew/test/support/fixtures/elf/hellobin0 -> 6312 bytes
-rwxr-xr-xLibrary/Homebrew/test/support/fixtures/elf/libhello.so.0bin0 -> 6312 bytes
-rw-r--r--Library/Homebrew/test/support/fixtures/tarballs/testball-0.1-linux.tbzbin0 -> 3253 bytes
-rw-r--r--Library/Homebrew/test/support/helper/spec/shared_context/integration_test.rb9
-rw-r--r--Library/Homebrew/test/support/lib/config.rb1
8 files changed, 25 insertions, 5 deletions
diff --git a/Library/Homebrew/test/cleaner_spec.rb b/Library/Homebrew/test/cleaner_spec.rb
index 116f00dff..6e603da0e 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 8a9f7a0d2..f0e8a4112 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 c3652fc42..d3da25dd8 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 000000000..76b86f02d
--- /dev/null
+++ b/Library/Homebrew/test/support/fixtures/elf/hello
Binary files differ
diff --git a/Library/Homebrew/test/support/fixtures/elf/libhello.so.0 b/Library/Homebrew/test/support/fixtures/elf/libhello.so.0
new file mode 100755
index 000000000..e85b7184f
--- /dev/null
+++ b/Library/Homebrew/test/support/fixtures/elf/libhello.so.0
Binary files differ
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 000000000..5ca2be071
--- /dev/null
+++ b/Library/Homebrew/test/support/fixtures/tarballs/testball-0.1-linux.tbz
Binary files differ
diff --git a/Library/Homebrew/test/support/helper/spec/shared_context/integration_test.rb b/Library/Homebrew/test/support/helper/spec/shared_context/integration_test.rb
index da01580c2..6ee6a3345 100644
--- a/Library/Homebrew/test/support/helper/spec/shared_context/integration_test.rb
+++ b/Library/Homebrew/test/support/helper/spec/shared_context/integration_test.rb
@@ -123,11 +123,16 @@ RSpec.shared_context "integration test" do
def setup_test_formula(name, content = nil)
case name
when /^testball/
+ tarball = if OS.linux?
+ TEST_FIXTURE_DIR/"tarballs/testball-0.1-linux.tbz"
+ else
+ TEST_FIXTURE_DIR/"tarballs/testball-0.1.tbz"
+ end
content = <<~EOS
desc "Some test"
homepage "https://example.com/#{name}"
- url "file://#{TEST_FIXTURE_DIR}/tarballs/testball-0.1.tbz"
- sha256 "#{TESTBALL_SHA256}"
+ url "file://#{tarball}"
+ sha256 "#{tarball.sha256}"
option "with-foo", "Build with foo"
diff --git a/Library/Homebrew/test/support/lib/config.rb b/Library/Homebrew/test/support/lib/config.rb
index 3a0a76722..e54fc111f 100644
--- a/Library/Homebrew/test/support/lib/config.rb
+++ b/Library/Homebrew/test/support/lib/config.rb
@@ -35,7 +35,6 @@ HOMEBREW_TEMP = HOMEBREW_PREFIX.parent+"temp"
TEST_FIXTURE_DIR = HOMEBREW_LIBRARY_PATH.join("test", "support", "fixtures")
-TESTBALL_SHA1 = "be478fd8a80fe7f29196d6400326ac91dad68c37".freeze
TESTBALL_SHA256 = "91e3f7930c98d7ccfb288e115ed52d06b0e5bc16fec7dce8bdda86530027067b".freeze
TESTBALL_PATCHES_SHA256 = "799c2d551ac5c3a5759bea7796631a7906a6a24435b52261a317133a0bfb34d9".freeze
PATCH_A_SHA256 = "83404f4936d3257e65f176c4ffb5a5b8d6edd644a21c8d8dcc73e22a6d28fcfa".freeze