aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Library/Homebrew/cmd/uninstall.rb7
-rw-r--r--Library/Homebrew/test/test_keg.rb20
2 files changed, 15 insertions, 12 deletions
diff --git a/Library/Homebrew/cmd/uninstall.rb b/Library/Homebrew/cmd/uninstall.rb
index bfc521ff0..a7b426c0c 100644
--- a/Library/Homebrew/cmd/uninstall.rb
+++ b/Library/Homebrew/cmd/uninstall.rb
@@ -22,8 +22,11 @@ module Homebrew
if rack.directory?
puts "Uninstalling #{name}..."
- rack.subdirs.each { |d| Keg.new(d).unlink }
- rack.rmtree
+ rack.subdirs.each do |d|
+ keg = Keg.new(d)
+ keg.unlink
+ keg.uninstall
+ end
end
rm_opt_link name
diff --git a/Library/Homebrew/test/test_keg.rb b/Library/Homebrew/test/test_keg.rb
index e73b3efe6..7fd2cef6f 100644
--- a/Library/Homebrew/test/test_keg.rb
+++ b/Library/Homebrew/test/test_keg.rb
@@ -25,6 +25,16 @@ class LinkTests < Homebrew::TestCase
mkpath HOMEBREW_PREFIX/"lib"
end
+ def teardown
+ @keg.unlink
+ @keg.uninstall
+
+ $stdout = @old_stdout
+
+ rmtree HOMEBREW_PREFIX/"bin"
+ rmtree HOMEBREW_PREFIX/"lib"
+ end
+
def test_linking_keg
assert_equal 3, @keg.link
(HOMEBREW_PREFIX/"bin").children.each { |c| assert_predicate c.readlink, :relative? }
@@ -115,14 +125,4 @@ class LinkTests < Homebrew::TestCase
refute_predicate HOMEBREW_PREFIX/"lib/foo", :directory?
refute_predicate HOMEBREW_PREFIX/"lib/foo/.DS_Store", :exist?
end
-
- def teardown
- @keg.unlink
- @keg.rmtree
-
- $stdout = @old_stdout
-
- rmtree HOMEBREW_PREFIX/"bin"
- rmtree HOMEBREW_PREFIX/"lib"
- end
end