From b57e6006a6c5948a94d761c6cc13423672f43389 Mon Sep 17 00:00:00 2001 From: Jack Nagel Date: Sat, 21 Dec 2013 23:28:03 -0600 Subject: cleaner: add tests to demonstrate some current failures --- Library/Homebrew/test/test_cleaner.rb | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'Library') 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 -- cgit v1.2.3