diff options
Diffstat (limited to 'Library/Homebrew/test/cleanup_spec.rb')
| -rw-r--r-- | Library/Homebrew/test/cleanup_spec.rb | 130 |
1 files changed, 130 insertions, 0 deletions
diff --git a/Library/Homebrew/test/cleanup_spec.rb b/Library/Homebrew/test/cleanup_spec.rb new file mode 100644 index 000000000..b0e824767 --- /dev/null +++ b/Library/Homebrew/test/cleanup_spec.rb @@ -0,0 +1,130 @@ +require "test/support/fixtures/testball" +require "cleanup" +require "fileutils" +require "pathname" + +describe Homebrew::Cleanup do + let(:ds_store) { Pathname.new("#{HOMEBREW_PREFIX}/Library/.DS_Store") } + + around(:each) do |example| + begin + FileUtils.touch ds_store + + example.run + ensure + FileUtils.rm_f ds_store + end + end + + describe "::cleanup" do + it "removes .DS_Store files" do + shutup do + described_class.cleanup + end + + expect(ds_store).not_to exist + end + + it "doesn't remove anything if `--dry-run` is specified" do + ARGV << "--dry-run" + + shutup do + described_class.cleanup + end + + expect(ds_store).to exist + end + end + + specify "::cleanup_formula" do + f1 = Class.new(Testball) do + version "1.0" + end.new + + f2 = Class.new(Testball) do + version "0.2" + version_scheme 1 + end.new + + f3 = Class.new(Testball) do + version "0.3" + version_scheme 1 + end.new + + f4 = Class.new(Testball) do + version "0.1" + version_scheme 2 + end.new + + shutup do + [f1, f2, f3, f4].each do |f| + f.brew do + f.install + end + + Tab.create(f, DevelopmentTools.default_compiler, :libcxx).write + end + end + + expect(f1).to be_installed + expect(f2).to be_installed + expect(f3).to be_installed + expect(f4).to be_installed + + shutup do + described_class.cleanup_formula f3 + end + + expect(f1).not_to be_installed + expect(f2).not_to be_installed + expect(f3).to be_installed + expect(f4).to be_installed + end + + specify "::cleanup_logs" do + path = (HOMEBREW_LOGS/"delete_me") + path.mkpath + ARGV << "--prune=all" + + shutup do + described_class.cleanup_logs + end + + expect(path).not_to exist + end + + describe "::cleanup_cache" do + it "cleans up incomplete downloads" do + incomplete = (HOMEBREW_CACHE/"something.incomplete") + incomplete.mkpath + + shutup do + described_class.cleanup_cache + end + + expect(incomplete).not_to exist + end + + it "cleans up 'java_cache'" do + java_cache = (HOMEBREW_CACHE/"java_cache") + java_cache.mkpath + + shutup do + described_class.cleanup_cache + end + + expect(java_cache).not_to exist + end + + it "cleans up 'npm_cache'" do + npm_cache = (HOMEBREW_CACHE/"npm_cache") + npm_cache.mkpath + + shutup do + described_class.cleanup_cache + end + + expect(npm_cache).not_to exist + end + end +end |
