diff --git a/Library/Homebrew/test/service_spec.rb b/Library/Homebrew/test/service_spec.rb index 51e5ad76a6..d36c42b9cb 100644 --- a/Library/Homebrew/test/service_spec.rb +++ b/Library/Homebrew/test/service_spec.rb @@ -587,6 +587,44 @@ describe Homebrew::Service do EOS expect(plist).to eq(plist_expect) end + + it "expands paths" do + f = stub_formula do + service do + run opt_bin/"beanstalkd" + working_dir "~" + end + end + + plist = f.service.to_plist + plist_expect = <<~EOS + + + + + \tLabel + \thomebrew.mxcl.formula_name + \tLimitLoadToSessionType + \t + \t\tAqua + \t\tBackground + \t\tLoginWindow + \t\tStandardIO + \t\tSystem + \t + \tProgramArguments + \t + \t\t#{HOMEBREW_PREFIX}/opt/formula_name/bin/beanstalkd + \t + \tRunAtLoad + \t + \tWorkingDirectory + \t#{Dir.home} + + + EOS + expect(plist).to eq(plist_expect) + end end describe "#to_systemd_unit" do @@ -657,6 +695,30 @@ describe Homebrew::Service do EOS expect(unit).to eq(unit_expect.strip) end + + it "expands paths" do + f = stub_formula do + service do + run opt_bin/"beanstalkd" + working_dir "~" + end + end + + unit = f.service.to_systemd_unit + unit_expect = <<~EOS + [Unit] + Description=Homebrew generated unit for formula_name + + [Install] + WantedBy=default.target + + [Service] + Type=simple + ExecStart=#{HOMEBREW_PREFIX}/opt/#{name}/bin/beanstalkd + WorkingDirectory=#{Dir.home} + EOS + expect(unit).to eq(unit_expect.strip) + end end describe "#to_systemd_timer" do