--- /dev/null
+#!/usr/bin/env rspec
+
+require 'spec_helper'
+require 'mcollective/unix_daemon'
+
+module MCollective
+ describe UnixDaemon do
+ describe "#daemonize_runner" do
+ it "should not run on the windows platform" do
+ Util.expects("windows?").returns(true)
+ expect { UnixDaemon.daemonize_runner }.to raise_error("The Unix Daemonizer can not be used on the Windows Platform")
+ end
+
+ it "should write the pid file if requested" do
+ f = mock
+ f.expects(:write).with(Process.pid)
+
+ File.expects(:open).with("/nonexisting", "w").yields(f)
+
+ r = mock
+ r.expects(:run)
+
+ Runner.expects(:new).returns(r)
+ UnixDaemon.expects(:daemonize).yields
+
+ UnixDaemon.daemonize_runner("/nonexisting")
+ end
+
+ it "should not write a pid file unless requested" do
+ r = mock
+ r.expects(:run)
+
+ UnixDaemon.expects(:daemonize).yields
+ Runner.expects(:new).returns(r)
+ File.expects(:open).never
+
+ UnixDaemon.daemonize_runner(nil)
+ end
+ end
+ end
+end