Port Homebrew::DevCmd::DetermineTestRunners

This commit is contained in:
Douglas Eichelberger 2024-03-21 08:10:59 -07:00
parent 9297a850aa
commit 19f9c52652
2 changed files with 44 additions and 44 deletions

View File

@ -1,14 +1,15 @@
# typed: strict
# frozen_string_literal: true
require "abstract_command"
require "cli/parser"
require "test_runner_formula"
require "github_runner_matrix"
module Homebrew
sig { returns(Homebrew::CLI::Parser) }
def self.determine_test_runners_args
Homebrew::CLI::Parser.new do
module DevCmd
class DetermineTestRunners < AbstractCommand
cmd_args do
usage_banner <<~EOS
`determine-test-runners` {<testing-formulae> [<deleted-formulae>]|--all-supported}
@ -30,12 +31,9 @@ module Homebrew
hide_from_man_page!
end
end
sig { void }
def self.determine_test_runners
args = determine_test_runners_args.parse
sig { override.void }
def run
if args.no_named? && !args.all_supported?
raise Homebrew::CLI::MinNamedArgumentsError, 1
elsif args.all_supported? && !args.no_named?
@ -59,4 +57,6 @@ module Homebrew
f.puts("runners_present=#{runners.present?}")
end
end
end
end
end

View File

@ -3,7 +3,7 @@
require "dev-cmd/determine-test-runners"
require "cmd/shared_examples/args_parse"
RSpec.describe "brew determine-test-runners" do
RSpec.describe Homebrew::DevCmd::DetermineTestRunners do
def get_runners(file)
runner_line = File.open(file).first
json_text = runner_line[/runners=(.*)/, 1]