From f4bcda325a75a89dce2ac8ffa2e7495217619d8d Mon Sep 17 00:00:00 2001 From: Douglas Eichelberger Date: Fri, 4 Jul 2025 13:28:54 -0700 Subject: [PATCH 1/2] Exit non-zero when pinning uninstalled formula --- Library/Homebrew/cmd/pin.rb | 4 ++-- Library/Homebrew/test/cmd/pin_spec.rb | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/Library/Homebrew/cmd/pin.rb b/Library/Homebrew/cmd/pin.rb index 91a9608efe..e298c5bec8 100644 --- a/Library/Homebrew/cmd/pin.rb +++ b/Library/Homebrew/cmd/pin.rb @@ -23,9 +23,9 @@ module Homebrew def run args.named.to_resolved_formulae.each do |f| if f.pinned? - opoo "#{f.name} already pinned" + ofail "#{f.name} already pinned" elsif !f.pinnable? - onoe "#{f.name} not installed" + ofail "#{f.name} not installed" else f.pin end diff --git a/Library/Homebrew/test/cmd/pin_spec.rb b/Library/Homebrew/test/cmd/pin_spec.rb index 15c978f032..782d970402 100644 --- a/Library/Homebrew/test/cmd/pin_spec.rb +++ b/Library/Homebrew/test/cmd/pin_spec.rb @@ -11,4 +11,10 @@ RSpec.describe Homebrew::Cmd::Pin do expect { brew "pin", "testball" }.to be_a_success end + + it "fails with an uninstalled Formula", :integration_test do + setup_test_formula "testball" + + expect { brew "pin", "testball" }.to be_a_failure + end end From e78cc286e013bdb50043b4a725b9a0a2faec18c1 Mon Sep 17 00:00:00 2001 From: Douglas Eichelberger Date: Fri, 4 Jul 2025 13:55:12 -0700 Subject: [PATCH 2/2] Keep exiting zero on already pinned formulae --- Library/Homebrew/cmd/pin.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Library/Homebrew/cmd/pin.rb b/Library/Homebrew/cmd/pin.rb index e298c5bec8..0dc3633642 100644 --- a/Library/Homebrew/cmd/pin.rb +++ b/Library/Homebrew/cmd/pin.rb @@ -23,7 +23,7 @@ module Homebrew def run args.named.to_resolved_formulae.each do |f| if f.pinned? - ofail "#{f.name} already pinned" + opoo "#{f.name} already pinned" elsif !f.pinnable? ofail "#{f.name} not installed" else