Filter brew tests spec files appropriately for each OS

This commit is contained in:
Rylan Polster 2025-06-11 14:43:30 -04:00
parent 4e0e5782ec
commit ce72e34b19
No known key found for this signature in database
3 changed files with 30 additions and 10 deletions

View File

@ -127,8 +127,8 @@ module Homebrew
bundle_args << "--tag" << "~needs_network" unless args.online? bundle_args << "--tag" << "~needs_network" unless args.online?
bundle_args << "--tag" << "~needs_ci" unless ENV["CI"] bundle_args << "--tag" << "~needs_ci" unless ENV["CI"]
bundle_args = os_bundle_args(bundle_args) bundle_args = os_bundle_args(bundle_args, generic: args.generic?)
files = os_files(files) files = os_files(files, generic: args.generic?)
puts "Randomized with seed #{seed}" puts "Randomized with seed #{seed}"
@ -156,11 +156,12 @@ module Homebrew
private private
sig { params(bundle_args: T::Array[String]).returns(T::Array[String]) } sig { params(bundle_args: T::Array[String], generic: T::Boolean).returns(T::Array[String]) }
def os_bundle_args(bundle_args) def os_bundle_args(bundle_args, generic:)
# for generic tests, remove macOS or Linux specific tests # for generic tests, remove macOS or Linux specific tests
non_linux_bundle_args(non_macos_bundle_args(bundle_args)) non_linux_bundle_args(non_macos_bundle_args(bundle_args))
end end
alias generic_os_bundle_args os_bundle_args
sig { params(bundle_args: T::Array[String]).returns(T::Array[String]) } sig { params(bundle_args: T::Array[String]).returns(T::Array[String]) }
def non_macos_bundle_args(bundle_args) def non_macos_bundle_args(bundle_args)
@ -175,11 +176,12 @@ module Homebrew
bundle_args << "--tag" << "~needs_linux" << "--tag" << "~needs_systemd" bundle_args << "--tag" << "~needs_linux" << "--tag" << "~needs_systemd"
end end
sig { params(files: T::Array[String]).returns(T::Array[String]) } sig { params(files: T::Array[String], generic: T::Boolean).returns(T::Array[String]) }
def os_files(files) def os_files(files, generic:)
# for generic tests, remove macOS or Linux specific files # for generic tests, remove macOS or Linux specific files
non_linux_files(non_macos_files(files)) non_linux_files(non_macos_files(files))
end end
alias generic_os_files os_files
sig { params(files: T::Array[String]).returns(T::Array[String]) } sig { params(files: T::Array[String]).returns(T::Array[String]) }
def non_macos_files(files) def non_macos_files(files)

View File

@ -11,10 +11,19 @@ module OS
private private
sig { params(bundle_args: T::Array[String]).returns(T::Array[String]) } sig { params(bundle_args: T::Array[String], generic: T::Boolean).returns(T::Array[String]) }
def os_bundle_args(bundle_args) def os_bundle_args(bundle_args, generic:)
return generic_os_bundle_args(bundle_args, generic:) if generic
non_macos_bundle_args(bundle_args) non_macos_bundle_args(bundle_args)
end end
sig { params(files: T::Array[String], generic: T::Boolean).returns(T::Array[String]) }
def os_files(files, generic:)
return generic_os_files(files, generic:) if generic
non_macos_files(files)
end
end end
end end
end end

View File

@ -11,10 +11,19 @@ module OS
private private
sig { params(bundle_args: T::Array[String]).returns(T::Array[String]) } sig { params(bundle_args: T::Array[String], generic: T::Boolean).returns(T::Array[String]) }
def os_bundle_args(bundle_args) def os_bundle_args(bundle_args, generic:)
return generic_os_bundle_args(bundle_args, generic:) if generic
non_linux_bundle_args(bundle_args) non_linux_bundle_args(bundle_args)
end end
sig { params(files: T::Array[String], generic: T::Boolean).returns(T::Array[String]) }
def os_files(files, generic:)
return generic_os_files(files, generic:) if generic
non_linux_files(files)
end
end end
end end
end end