Merge pull request #6212 from mistydemeo/allow_skipping_or_later_bottles
Bottles: allow skipping or_later tags
This commit is contained in:
commit
14755541b0
@ -123,6 +123,10 @@ module HomebrewArgvExtension
|
||||
!ENV["HOMEBREW_DEVELOPER"].nil?
|
||||
end
|
||||
|
||||
def skip_or_later_bottles?
|
||||
homebrew_developer? && !ENV["HOMEBREW_SKIP_OR_LATER_BOTTLES"].nil?
|
||||
end
|
||||
|
||||
def no_sandbox?
|
||||
include?("--no-sandbox") || !ENV["HOMEBREW_NO_SANDBOX"].nil?
|
||||
end
|
||||
|
@ -16,8 +16,13 @@ module Utils
|
||||
alias generic_find_matching_tag find_matching_tag
|
||||
|
||||
def find_matching_tag(tag)
|
||||
generic_find_matching_tag(tag) ||
|
||||
find_older_compatible_tag(tag)
|
||||
# Used primarily by developers testing beta macOS releases.
|
||||
if OS::Mac.prerelease? && ARGV.skip_or_later_bottles?
|
||||
generic_find_matching_tag(tag)
|
||||
else
|
||||
generic_find_matching_tag(tag) ||
|
||||
find_older_compatible_tag(tag)
|
||||
end
|
||||
end
|
||||
|
||||
def tag_without_or_later(tag)
|
||||
|
@ -20,9 +20,25 @@ describe Utils::Bottles::Collector do
|
||||
end
|
||||
|
||||
it "uses older tags when needed", :needs_macos do
|
||||
subject[:yosemite] = "foo"
|
||||
expect(subject.fetch_checksum_for(:yosemite)).to eq(["foo", :yosemite])
|
||||
expect(subject.fetch_checksum_for(:mavericks)).to be nil
|
||||
subject[:mavericks] = "foo"
|
||||
expect(subject.send(:find_matching_tag, :mavericks)).to eq(:mavericks)
|
||||
expect(subject.send(:find_matching_tag, :yosemite)).to eq(:mavericks)
|
||||
end
|
||||
|
||||
it "does not use older tags when requested not to", :needs_macos do
|
||||
allow(ARGV).to receive(:skip_or_later_bottles?).and_return(true)
|
||||
allow(OS::Mac).to receive(:prerelease?).and_return(true)
|
||||
subject[:mavericks] = "foo"
|
||||
expect(subject.send(:find_matching_tag, :mavericks)).to eq(:mavericks)
|
||||
expect(subject.send(:find_matching_tag, :yosemite)).to be_nil
|
||||
end
|
||||
|
||||
it "ignores HOMEBREW_SKIP_OR_LATER_BOTTLES on release versions", :needs_macos do
|
||||
allow(ARGV).to receive(:skip_or_later_bottles?).and_return(true)
|
||||
allow(OS::Mac).to receive(:prerelease?).and_return(false)
|
||||
subject[:mavericks] = "foo"
|
||||
expect(subject.send(:find_matching_tag, :mavericks)).to eq(:mavericks)
|
||||
expect(subject.send(:find_matching_tag, :yosemite)).to eq(:mavericks)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
Loading…
x
Reference in New Issue
Block a user