Update and test eligible_kegs_for_cleanup
Closes #478. Signed-off-by: Xu Cheng <xucheng@me.com>
This commit is contained in:
parent
3fb5d70a72
commit
4b2c4ef258
@ -1521,7 +1521,12 @@ class Formula
|
||||
def eligible_kegs_for_cleanup
|
||||
eligible_for_cleanup = []
|
||||
if installed?
|
||||
eligible_kegs = installed_kegs.select { |k| pkg_version > k.version }
|
||||
eligible_kegs = if head? && (head_prefix = latest_head_prefix)
|
||||
installed_kegs - [Keg.new(head_prefix)]
|
||||
else
|
||||
installed_kegs.select { |k| pkg_version > k.version }
|
||||
end
|
||||
|
||||
if eligible_kegs.any?
|
||||
eligible_kegs.each do |keg|
|
||||
if keg.linked?
|
||||
|
@ -451,6 +451,30 @@ class FormulaTests < Homebrew::TestCase
|
||||
f3.rack.rmtree
|
||||
end
|
||||
|
||||
def test_eligible_kegs_for_cleanup_head_installed
|
||||
f = formula do
|
||||
version "0.1"
|
||||
head "foo"
|
||||
end
|
||||
|
||||
stable_prefix = f.installed_prefix
|
||||
stable_prefix.mkpath
|
||||
|
||||
[["000000_1", 1], ["111111", 2], ["111111_1", 2]].each do |pkg_version_suffix, stamp|
|
||||
prefix = f.prefix("HEAD-#{pkg_version_suffix}")
|
||||
prefix.mkpath
|
||||
tab = Tab.empty
|
||||
tab.tabfile = prefix.join("INSTALL_RECEIPT.json")
|
||||
tab.source_modified_time = stamp
|
||||
tab.write
|
||||
end
|
||||
|
||||
eligible_kegs = f.installed_kegs - [Keg.new(f.prefix("HEAD-111111_1"))]
|
||||
assert_equal eligible_kegs, f.eligible_kegs_for_cleanup
|
||||
ensure
|
||||
f.rack.rmtree
|
||||
end
|
||||
|
||||
def test_pour_bottle
|
||||
f_false = formula("foo") do
|
||||
url "foo-1.0"
|
||||
|
Loading…
x
Reference in New Issue
Block a user