determine-test-runners: test failure modes (again)
This commit is contained in:
parent
e191dbfb9e
commit
3d03d243a4
@ -197,6 +197,9 @@ module Homebrew
|
|||||||
dependents: args.dependents?,
|
dependents: args.dependents?,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
github_run_id = ENV.fetch("GITHUB_RUN_ID") { raise "GITHUB_RUN_ID is not defined" }
|
||||||
|
github_run_attempt = ENV.fetch("GITHUB_RUN_ATTEMPT") { raise "GITHUB_RUN_ATTEMPT is not defined" }
|
||||||
|
|
||||||
MacOSVersions::SYMBOLS.each_value do |version|
|
MacOSVersions::SYMBOLS.each_value do |version|
|
||||||
macos_version = MacOS::Version.new(version)
|
macos_version = MacOS::Version.new(version)
|
||||||
next if macos_version.outdated_release? || macos_version.prerelease?
|
next if macos_version.outdated_release? || macos_version.prerelease?
|
||||||
@ -211,7 +214,7 @@ module Homebrew
|
|||||||
next # No formulae to test on this macOS version.
|
next # No formulae to test on this macOS version.
|
||||||
end
|
end
|
||||||
|
|
||||||
ephemeral_suffix = "-#{ENV.fetch("GITHUB_RUN_ID")}-#{ENV.fetch("GITHUB_RUN_ATTEMPT")}"
|
ephemeral_suffix = "-#{github_run_id}-#{github_run_attempt}"
|
||||||
runners << { runner: "#{macos_version}#{ephemeral_suffix}", cleanup: false } if add_intel_runners
|
runners << { runner: "#{macos_version}#{ephemeral_suffix}", cleanup: false } if add_intel_runners
|
||||||
|
|
||||||
next unless add_m1_runners
|
next unless add_m1_runners
|
||||||
|
@ -24,7 +24,7 @@ describe "brew determine-test-runners" do
|
|||||||
"HOMEBREW_LINUX_CLEANUP" => "false",
|
"HOMEBREW_LINUX_CLEANUP" => "false",
|
||||||
"GITHUB_RUN_ID" => ephemeral_suffix.split("-").second,
|
"GITHUB_RUN_ID" => ephemeral_suffix.split("-").second,
|
||||||
"GITHUB_RUN_ATTEMPT" => ephemeral_suffix.split("-").third,
|
"GITHUB_RUN_ATTEMPT" => ephemeral_suffix.split("-").third,
|
||||||
}
|
}.freeze
|
||||||
end
|
end
|
||||||
|
|
||||||
it_behaves_like "parseable arguments"
|
it_behaves_like "parseable arguments"
|
||||||
@ -35,6 +35,20 @@ describe "brew determine-test-runners" do
|
|||||||
.and be_a_failure
|
.and be_a_failure
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it "fails when the necessary environment variables are missing", :integration_test, :needs_linux do
|
||||||
|
setup_test_formula "testball"
|
||||||
|
|
||||||
|
runner_env.each_key do |k|
|
||||||
|
runner_env_dup = runner_env.dup
|
||||||
|
runner_env_dup[k] = nil
|
||||||
|
|
||||||
|
expect { brew "determine-test-runners", "testball", runner_env_dup }
|
||||||
|
.to not_to_output.to_stdout
|
||||||
|
.and output("Error: #{k} is not defined\n").to_stderr
|
||||||
|
.and be_a_failure
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
it "assigns all runners for formulae without any requirements", :integration_test, :needs_linux do
|
it "assigns all runners for formulae without any requirements", :integration_test, :needs_linux do
|
||||||
setup_test_formula "testball"
|
setup_test_formula "testball"
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user