Sha256: 438b85577836c0710ea88553c509f14e84b748efb79782f89df6f1844d122f73

Contents?: true

Size: 1.11 KB

Versions: 3

Compression:

Stored size: 1.11 KB

Contents

#!/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", :unless => MCollective::Util.windows? 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", :unless => MCollective::Util.windows? 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

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
mcollective-client-2.4.1 spec/unit/unix_daemon_spec.rb
mcollective-client-2.4.0 spec/unit/unix_daemon_spec.rb
mcollective-client-2.2.4 spec/unit/unix_daemon_spec.rb