test-bot: fix test default formula handling.
Move the test default formula handling to after all the other formulae additions are so it'll only be added if no formulae are detected already in a PR.
This commit is contained in:
parent
8e9a4b6e58
commit
054b1a8f73
@ -62,8 +62,8 @@
|
|||||||
#: If `--coverage` is passed, generate coverage report and send it to
|
#: If `--coverage` is passed, generate coverage report and send it to
|
||||||
#: Coveralls.
|
#: Coveralls.
|
||||||
#:
|
#:
|
||||||
#: If `--test-default-formula` is passed, use a default testing formula if
|
#: If `--test-default-formula` is passed, use a default testing formula
|
||||||
#: no formulae are otherwise found.
|
#: when not building a tap and no other formulae are specified.
|
||||||
#:
|
#:
|
||||||
#: If `--ci-master` is passed, use the Homebrew master branch CI
|
#: If `--ci-master` is passed, use the Homebrew master branch CI
|
||||||
#: options.
|
#: options.
|
||||||
@ -271,14 +271,11 @@ module Homebrew
|
|||||||
@tap = options[:tap]
|
@tap = options[:tap]
|
||||||
@repository = @tap ? @tap.path : HOMEBREW_REPOSITORY
|
@repository = @tap ? @tap.path : HOMEBREW_REPOSITORY
|
||||||
@skip_homebrew = options.fetch(:skip_homebrew, false)
|
@skip_homebrew = options.fetch(:skip_homebrew, false)
|
||||||
@test_default_formula = options.fetch(:test_default_formula, false)
|
|
||||||
|
|
||||||
if quiet_system "git", "-C", @repository.to_s, "rev-parse", "--verify", "-q", argument
|
if quiet_system "git", "-C", @repository.to_s, "rev-parse", "--verify", "-q", argument
|
||||||
@hash = argument
|
@hash = argument
|
||||||
elsif url_match = argument.match(HOMEBREW_PULL_OR_COMMIT_URL_REGEX)
|
elsif url_match = argument.match(HOMEBREW_PULL_OR_COMMIT_URL_REGEX)
|
||||||
@url = url_match[0]
|
@url = url_match[0]
|
||||||
elsif @test_default_formula
|
|
||||||
@formulae = [argument]
|
|
||||||
elsif canonical_formula_name = safe_formula_canonical_name(argument)
|
elsif canonical_formula_name = safe_formula_canonical_name(argument)
|
||||||
@formulae = [canonical_formula_name]
|
@formulae = [canonical_formula_name]
|
||||||
else
|
else
|
||||||
@ -386,7 +383,7 @@ module Homebrew
|
|||||||
@name = "#{diff_start_sha1}-#{diff_end_sha1}"
|
@name = "#{diff_start_sha1}-#{diff_end_sha1}"
|
||||||
end
|
end
|
||||||
# Handle formulae arguments being passed on the command-line e.g. `brew test-bot wget fish`.
|
# Handle formulae arguments being passed on the command-line e.g. `brew test-bot wget fish`.
|
||||||
elsif @formulae && !@formulae.empty?
|
elsif !@formulae.empty?
|
||||||
@name = "#{@formulae.first}-#{diff_end_sha1}"
|
@name = "#{@formulae.first}-#{diff_end_sha1}"
|
||||||
diff_start_sha1 = diff_end_sha1
|
diff_start_sha1 = diff_end_sha1
|
||||||
# Handle a hash being passed on the command-line e.g. `brew test-bot 1a2b3c`.
|
# Handle a hash being passed on the command-line e.g. `brew test-bot 1a2b3c`.
|
||||||
@ -423,11 +420,20 @@ module Homebrew
|
|||||||
|
|
||||||
return unless diff_start_sha1 != diff_end_sha1
|
return unless diff_start_sha1 != diff_end_sha1
|
||||||
return if @url && steps.last && !steps.last.passed?
|
return if @url && steps.last && !steps.last.passed?
|
||||||
return unless @tap
|
|
||||||
|
|
||||||
|
if @tap
|
||||||
formula_path = @tap.formula_dir.to_s
|
formula_path = @tap.formula_dir.to_s
|
||||||
@added_formulae += diff_formulae(diff_start_sha1, diff_end_sha1, formula_path, "A")
|
@added_formulae += diff_formulae(diff_start_sha1, diff_end_sha1, formula_path, "A")
|
||||||
@modified_formula += diff_formulae(diff_start_sha1, diff_end_sha1, formula_path, "M")
|
@modified_formula += diff_formulae(diff_start_sha1, diff_end_sha1, formula_path, "M")\
|
||||||
|
elsif @formulae.empty? && ARGV.include?("--test-default-formula")
|
||||||
|
# Build the default test formula.
|
||||||
|
HOMEBREW_CACHE_FORMULA.mkpath
|
||||||
|
testbottest = "#{HOMEBREW_LIBRARY}/Homebrew/test/testbottest.rb"
|
||||||
|
FileUtils.cp testbottest, HOMEBREW_CACHE_FORMULA
|
||||||
|
@test_default_formula = true
|
||||||
|
@added_formulae = [testbottest]
|
||||||
|
end
|
||||||
|
|
||||||
@formulae += @added_formulae + @modified_formula
|
@formulae += @added_formulae + @modified_formula
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -702,7 +708,7 @@ module Homebrew
|
|||||||
@category = __method__
|
@category = __method__
|
||||||
return if @skip_homebrew
|
return if @skip_homebrew
|
||||||
|
|
||||||
if @tap.nil? && (@repository == HOMEBREW_REPOSITORY || Array(@formulae).empty?)
|
if !@tap && (@formulae.empty? || @test_default_formula)
|
||||||
tests_args = ["--official-cmd-taps"]
|
tests_args = ["--official-cmd-taps"]
|
||||||
tests_args_no_compat = []
|
tests_args_no_compat = []
|
||||||
tests_args_no_compat << "--coverage" if ARGV.include?("--coverage")
|
tests_args_no_compat << "--coverage" if ARGV.include?("--coverage")
|
||||||
@ -1047,16 +1053,8 @@ module Homebrew
|
|||||||
any_errors = false
|
any_errors = false
|
||||||
skip_homebrew = ARGV.include?("--skip-homebrew")
|
skip_homebrew = ARGV.include?("--skip-homebrew")
|
||||||
if ARGV.named.empty?
|
if ARGV.named.empty?
|
||||||
current_test = if ARGV.include?("--test-default-formula")
|
# With no arguments just build the most recent commit.
|
||||||
# Build the default test formula.
|
current_test = Test.new("HEAD", :tap => tap, :skip_homebrew => skip_homebrew)
|
||||||
HOMEBREW_CACHE_FORMULA.mkpath
|
|
||||||
FileUtils.cp "#{HOMEBREW_LIBRARY}/Homebrew/test/testbottest.rb", HOMEBREW_CACHE_FORMULA
|
|
||||||
Test.new("#{HOMEBREW_LIBRARY}/Homebrew/test/testbottest.rb",
|
|
||||||
:test_default_formula => true, :skip_homebrew => skip_homebrew)
|
|
||||||
else
|
|
||||||
# Otherwise just build the most recent commit.
|
|
||||||
Test.new("HEAD", :tap => tap, :skip_homebrew => skip_homebrew)
|
|
||||||
end
|
|
||||||
any_errors = !current_test.run
|
any_errors = !current_test.run
|
||||||
tests << current_test
|
tests << current_test
|
||||||
else
|
else
|
||||||
|
Loading…
x
Reference in New Issue
Block a user