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

View File

@ -11,10 +11,19 @@ module OS
private
sig { params(bundle_args: T::Array[String]).returns(T::Array[String]) }
def os_bundle_args(bundle_args)
sig { params(bundle_args: T::Array[String], generic: T::Boolean).returns(T::Array[String]) }
def os_bundle_args(bundle_args, generic:)
return generic_os_bundle_args(bundle_args, generic:) if generic
non_macos_bundle_args(bundle_args)
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

View File

@ -11,10 +11,19 @@ module OS
private
sig { params(bundle_args: T::Array[String]).returns(T::Array[String]) }
def os_bundle_args(bundle_args)
sig { params(bundle_args: T::Array[String], generic: T::Boolean).returns(T::Array[String]) }
def os_bundle_args(bundle_args, generic:)
return generic_os_bundle_args(bundle_args, generic:) if generic
non_linux_bundle_args(bundle_args)
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