2019-04-19 15:38:03 +09:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2017-02-21 04:52:53 +01:00
|
|
|
require "keg"
|
|
|
|
|
2024-02-18 15:11:11 -08:00
|
|
|
RSpec.describe Keg do
|
2017-02-21 04:52:53 +01:00
|
|
|
include FileUtils
|
|
|
|
|
2021-01-31 13:14:23 -05:00
|
|
|
subject(:keg) { described_class.new(keg_path) }
|
2017-02-21 04:52:53 +01:00
|
|
|
|
2017-09-27 02:57:12 -07:00
|
|
|
describe "#mach_o_files" do
|
|
|
|
let(:keg_path) { HOMEBREW_CELLAR/"a/1.0" }
|
2017-02-21 04:52:53 +01:00
|
|
|
|
2018-03-25 13:30:37 +01:00
|
|
|
before { (keg_path/"lib").mkpath }
|
2017-02-21 04:52:53 +01:00
|
|
|
|
2021-01-31 13:14:23 -05:00
|
|
|
after { keg.unlink }
|
2017-02-21 04:52:53 +01:00
|
|
|
|
2017-09-27 02:57:12 -07:00
|
|
|
it "skips hardlinks" do
|
|
|
|
cp dylib_path("i386"), keg_path/"lib/i386.dylib"
|
|
|
|
ln keg_path/"lib/i386.dylib", keg_path/"lib/i386_hardlink.dylib"
|
2017-02-21 04:52:53 +01:00
|
|
|
|
2021-01-31 13:14:23 -05:00
|
|
|
keg.link
|
|
|
|
expect(keg.mach_o_files.count).to eq(1)
|
2017-02-21 04:52:53 +01:00
|
|
|
end
|
|
|
|
|
2017-09-27 02:57:12 -07:00
|
|
|
it "isn't confused by symlinks" do
|
|
|
|
cp dylib_path("i386"), keg_path/"lib/i386.dylib"
|
|
|
|
ln keg_path/"lib/i386.dylib", keg_path/"lib/i386_hardlink.dylib"
|
|
|
|
ln_s keg_path/"lib/i386.dylib", keg_path/"lib/i386_symlink.dylib"
|
2017-02-21 04:52:53 +01:00
|
|
|
|
2021-01-31 13:14:23 -05:00
|
|
|
keg.link
|
|
|
|
expect(keg.mach_o_files.count).to eq(1)
|
2017-02-21 04:52:53 +01:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|