diff --git a/lib/puppet/application/agent.rb b/lib/puppet/application/agent.rb index b9541a1264c..055c36df49e 100644 --- a/lib/puppet/application/agent.rb +++ b/lib/puppet/application/agent.rb @@ -347,6 +347,8 @@ def onetime Puppet.err detail.to_s end + @daemon.stop(:exit => false) + if not report exit(1) elsif options[:detailed_exitcodes] then diff --git a/spec/unit/application/agent_spec.rb b/spec/unit/application/agent_spec.rb index 6f3557d9d17..13be1a5af75 100755 --- a/spec/unit/application/agent_spec.rb +++ b/spec/unit/application/agent_spec.rb @@ -555,6 +555,11 @@ expect { @puppetd.onetime }.to exit_with 0 end + it "should stop the daemon" do + @daemon.expects(:stop).with(:exit => false) + expect { @puppetd.onetime }.to exit_with 0 + end + describe "and --detailed-exitcodes" do before :each do @puppetd.options.stubs(:[]).with(:detailed_exitcodes).returns(true)