mirror of
https://github.com/Homebrew/brew.git
synced 2025-07-14 16:09:03 +08:00
131 lines
2.5 KiB
Ruby
131 lines
2.5 KiB
Ruby
![]() |
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
|