Merge pull request #8496 from reitermarkus/debug-git

Properly fix Git error in tests.
This commit is contained in:
Markus Reiter 2020-08-29 22:13:25 +02:00 committed by GitHub
commit a39aae887e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 8 deletions

View File

@ -3,9 +3,14 @@
require "utils/git"
describe Utils::Git do
before do
around do |example|
described_class.clear_available_cache
example.run
ensure
described_class.clear_available_cache
end
before do
git = HOMEBREW_SHIMS_PATH/"scm/git"
HOMEBREW_CACHE.cd do
@ -145,6 +150,8 @@ describe Utils::Git do
end
it "installs git" do
skip if ENV["HOMEBREW_TEST_GENERIC_OS"]
expect(described_class).to receive(:available?).and_return(false)
expect(described_class).to receive(:safe_system).with(HOMEBREW_BREW_FILE, "install", "git").and_return(true)
expect(described_class).to receive(:available?).and_return(true)

View File

@ -94,13 +94,12 @@ module Utils
begin
oh1 "Installing #{Formatter.identifier("git")}"
# We need to unset `HOMEBREW_TEST_GENERIC_OS`, otherwise `git` will be
# installed from source in tests that need it. This is slow and will
# also likely fail due to `OS::Linux` and `OS::Mac` being undefined.
with_env "HOMEBREW_TEST_GENERIC_OS" => nil do
safe_system HOMEBREW_BREW_FILE, "install", "git"
clear_available_cache
end
# Otherwise `git` will be installed from source in tests that need it. This is slow
# and will also likely fail due to `OS::Linux` and `OS::Mac` being undefined.
raise "Refusing to install Git on a generic OS." if ENV["HOMEBREW_TEST_GENERIC_OS"]
safe_system HOMEBREW_BREW_FILE, "install", "git"
clear_available_cache
rescue
raise "Git is unavailable"
end