aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorJack Nagel2013-12-21 23:28:03 -0600
committerJack Nagel2013-12-21 23:28:03 -0600
commitb57e6006a6c5948a94d761c6cc13423672f43389 (patch)
tree90efeee5263bada2de0d4a6b737f05d4bfdc4586 /Library
parent554490f9e056073adb10683ef34cedb486dfabb6 (diff)
downloadbrew-b57e6006a6c5948a94d761c6cc13423672f43389.tar.bz2
cleaner: add tests to demonstrate some current failures
Diffstat (limited to 'Library')
-rw-r--r--Library/Homebrew/test/test_cleaner.rb19
1 files changed, 19 insertions, 0 deletions
diff --git a/Library/Homebrew/test/test_cleaner.rb b/Library/Homebrew/test/test_cleaner.rb
index a4989d920..42eb66403 100644
--- a/Library/Homebrew/test/test_cleaner.rb
+++ b/Library/Homebrew/test/test_cleaner.rb
@@ -27,4 +27,23 @@ class CleanerTests < Test::Unit::TestCase
assert_equal 0100444, (@f.lib/'x86_64.dylib').stat.mode
assert_equal 0100444, (@f.lib/'i386.dylib').stat.mode
end
+
+ def test_fails_to_remove_symlink_when_target_was_pruned_first
+ mkpath @f.prefix/'b'
+ ln_s 'b', @f.prefix/'a'
+ assert_raises(Errno::ENOENT) { Cleaner.new @f }
+ end
+
+ def test_fails_to_remove_symlink_pointing_to_empty_directory
+ mkpath @f.prefix/'b'
+ ln_s 'b', @f.prefix/'c'
+ assert_raises(Errno::ENOTDIR) { Cleaner.new @f }
+ end
+
+ def test_fails_to_remove_broken_symlink
+ ln_s 'target', @f.prefix/'symlink'
+ Cleaner.new @f
+ assert @f.prefix.join('symlink').symlink?, "not a symlink"
+ assert !@f.prefix.join('symlink').exist?, "target exists"
+ end
end