require "testing_env" require "test/support/fixtures/testball" require "cleanup" require "fileutils" require "pathname" require "testing_env" class IntegrationCommandTestCleanup < IntegrationCommandTestCase def test_cleanup (HOMEBREW_CACHE/"test").write "test" assert_match "#{HOMEBREW_CACHE}/test", cmd("cleanup", "--prune=all") end end class CleanupTests < Homebrew::TestCase def setup super @ds_store = Pathname.new "#{HOMEBREW_PREFIX}/Library/.DS_Store" FileUtils.touch @ds_store end def teardown FileUtils.rm_f @ds_store ARGV.delete "--dry-run" ARGV.delete "--prune=all" super end def test_cleanup shutup { Homebrew::Cleanup.cleanup } refute_predicate @ds_store, :exist? end def test_cleanup_dry_run ARGV << "--dry-run" shutup { Homebrew::Cleanup.cleanup } assert_predicate @ds_store, :exist? end def test_cleanup_formula f1 = Class.new(Testball) { version "0.1" }.new f2 = Class.new(Testball) { version "0.2" }.new f3 = Class.new(Testball) { version "0.3" }.new shutup do f1.brew { f1.install } f2.brew { f2.install } f3.brew { f3.install } end assert_predicate f1, :installed? assert_predicate f2, :installed? assert_predicate f3, :installed? shutup { Homebrew::Cleanup.cleanup_formula f3 } refute_predicate f1, :installed? refute_predicate f2, :installed? assert_predicate f3, :installed? ensure [f1, f2, f3].each(&:clear_cache) f3.rack.rmtree end def test_cleanup_logs path = (HOMEBREW_LOGS/"delete_me") path.mkpath ARGV << "--prune=all" shutup { Homebrew::Cleanup.cleanup_logs } refute_predicate path, :exist? end def test_cleanup_cache_incomplete_downloads incomplete = (HOMEBREW_CACHE/"something.incomplete") incomplete.mkpath shutup { Homebrew::Cleanup.cleanup_cache } refute_predicate incomplete, :exist? end def test_cleanup_cache_java_cache java_cache = (HOMEBREW_CACHE/"java_cache") java_cache.mkpath shutup { Homebrew::Cleanup.cleanup_cache } refute_predicate java_cache, :exist? end def test_cleanup_cache_npm_cache npm_cache = (HOMEBREW_CACHE/"npm_cache") npm_cache.mkpath shutup { Homebrew::Cleanup.cleanup_cache } refute_predicate npm_cache, :exist? end end