Skip to content

Commit 24dfe3e

Browse files
committed
bundle/brew_services: tolerate missing launchctl/systemctl
1 parent 9b9ba09 commit 24dfe3e

File tree

2 files changed

+6
-9
lines changed

2 files changed

+6
-9
lines changed

Library/Homebrew/bundle/brew_services.rb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,10 +59,10 @@ def started?(name)
5959
end
6060

6161
def started_services
62-
@started_services ||= begin
63-
if !Homebrew::Services::System.launchctl? && !Homebrew::Services::System.systemctl?
64-
odie Homebrew::Services::System::MISSING_DAEMON_MANAGER_EXCEPTION_MESSAGE
65-
end
62+
@started_services ||= if !Homebrew::Services::System.launchctl? && !Homebrew::Services::System.systemctl?
63+
opoo "Skipping `brew services list` due to missing launchctl/systemctl"
64+
[]
65+
else
6666
states_to_skip = %w[stopped none]
6767

6868
services_list = JSON.parse(Utils.safe_popen_read(HOMEBREW_BREW_FILE, "services", "list", "--json"))

Library/Homebrew/test/bundle/brew_services_spec.rb

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,9 @@
3434
expect(described_class.started_services).to eq([])
3535
end
3636

37-
it "exits with error when no daemon manager is available" do
37+
it "returns empty array when no daemon manager is available" do
3838
allow(Homebrew::Services::System).to receive_messages(launchctl?: false, systemctl?: false)
39-
expect do
40-
described_class.started_services
41-
end.to raise_error(SystemExit)
42-
.and output(/supported only on macOS or Linux/).to_stderr
39+
expect(described_class.started_services).to eq([])
4340
end
4441
end
4542

0 commit comments

Comments
 (0)