Skip to content

Commit 0b7a7c7

Browse files
authored
Merge pull request #22420 from ivan-digital/fix-macos-only-versioned
test_runner_formula: treat versioned macOS deps as macOS-only
2 parents e69d51d + 7c3e316 commit 0b7a7c7

3 files changed

Lines changed: 9 additions & 9 deletions

File tree

Library/Homebrew/test/github_runner_matrix_spec.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -141,15 +141,15 @@
141141
end
142142

143143
context "when testing formulae require a macOS version" do
144-
it "activates the Linux runners and suitable macOS runners" do
144+
it "activates only the suitable macOS runners" do
145145
_, v = newest_supported_macos
146146
runner_matrix = klass.new([testball_depender_newest], [],
147147
all_supported: false,
148148
dependent_matrix: false)
149149

150150
expect(runner_matrix.runners.all?(&:active)).to be(false)
151151
expect(runner_matrix.runners.any?(&:active)).to be(true)
152-
expect(get_runner_names(runner_matrix).sort).to eq(["Linux arm64", "Linux x86_64", "macOS #{v}-arm64"])
152+
expect(get_runner_names(runner_matrix).sort).to eq(["macOS #{v}-arm64"])
153153
end
154154
end
155155
end

Library/Homebrew/test/test_runner_formula_spec.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,8 @@
6565
end
6666

6767
context "when a formula requires only a minimum version of macOS" do
68-
it "returns false" do
69-
expect(klass.new(needs_modern_compiler).macos_only?).to be(false)
68+
it "returns true" do
69+
expect(klass.new(needs_modern_compiler).macos_only?).to be(true)
7070
end
7171
end
7272
end
@@ -119,13 +119,13 @@
119119
expect(klass.new(linux_kernel_requirer).linux_compatible?).to be(true)
120120
expect(klass.new(old_non_portable_software).linux_compatible?).to be(true)
121121
expect(klass.new(fancy_new_software).linux_compatible?).to be(true)
122-
expect(klass.new(needs_modern_compiler).linux_compatible?).to be(true)
123122
end
124123
end
125124

126125
context "when a formula is not compatible with Linux" do
127126
it "returns false" do
128127
expect(klass.new(xcode_helper).linux_compatible?).to be(false)
128+
expect(klass.new(needs_modern_compiler).linux_compatible?).to be(false)
129129
end
130130
end
131131
end

Library/Homebrew/test_runner_formula.rb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,22 +25,22 @@ def initialize(formula, eval_all: Homebrew::EnvConfig.eval_all?)
2525

2626
sig { returns(T::Boolean) }
2727
def macos_only?
28-
formula.requirements.any? { |r| r.is_a?(MacOSRequirement) && !r.version_specified? }
28+
!linux_compatible?
2929
end
3030

3131
sig { returns(T::Boolean) }
3232
def macos_compatible?
33-
!linux_only?
33+
formula.supports_macos?
3434
end
3535

3636
sig { returns(T::Boolean) }
3737
def linux_only?
38-
formula.requirements.any?(LinuxRequirement)
38+
!macos_compatible?
3939
end
4040

4141
sig { returns(T::Boolean) }
4242
def linux_compatible?
43-
!macos_only?
43+
formula.supports_linux?
4444
end
4545

4646
sig { returns(T::Boolean) }

0 commit comments

Comments
 (0)