Skip to content
Snippets Groups Projects
Commit 9010c37a authored by Markus Reiter's avatar Markus Reiter Committed by GitHub
Browse files

Merge pull request #2146 from reitermarkus/spec-prune

Convert `brew prune` test to spec.
parents 9ca7b351 b927bfc4
No related branches found
No related tags found
No related merge requests found
describe "brew prune", :integration_test do
it "removes empty directories and broken symlinks" do
share = (HOMEBREW_PREFIX/"share")
(share/"pruneable/directory/here").mkpath
(share/"notpruneable/file").write "I'm here"
FileUtils.ln_s "/i/dont/exist/no/really/i/dont", share/"pruneable_symlink"
expect { brew "prune", "--dry-run" }
.to output(%r{Would remove \(empty directory\): .*/pruneable/directory/here}).to_stdout
.and not_to_output.to_stderr
.and be_a_success
expect { brew "prune" }
.to output(/Pruned 1 symbolic links and 3 directories/).to_stdout
.and not_to_output.to_stderr
.and be_a_success
expect(share/"pruneable").not_to be_a_directory
expect(share/"notpruneable").to be_a_directory
expect(share/"pruneable_symlink").not_to be_a_symlink
expect { brew "prune", "--verbose" }
.to output(/Nothing pruned/).to_stdout
.and not_to_output.to_stderr
.and be_a_success
end
end
require "testing_env"
class IntegrationCommandTestPrune < IntegrationCommandTestCase
def test_prune
share = (HOMEBREW_PREFIX/"share")
(share/"pruneable/directory/here").mkpath
(share/"notpruneable/file").write "I'm here"
FileUtils.ln_s "/i/dont/exist/no/really/i/dont", share/"pruneable_symlink"
assert_match %r{Would remove \(empty directory\): .*/pruneable/directory/here},
cmd("prune", "--dry-run")
assert_match "Pruned 1 symbolic links and 3 directories",
cmd("prune")
refute((share/"pruneable").directory?)
assert((share/"notpruneable").directory?)
refute((share/"pruneable_symlink").symlink?)
assert_match "Nothing pruned", cmd("prune", "--verbose")
end
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment