use_ok('MooseX::Daemonize::Core');
}
+use constant DEBUG => 0;
+
my $CWD = Cwd::cwd;
my $PIDFILE = catfile($CWD, 'test-app.pid');
$ENV{MX_DAEMON_STDOUT} = catfile($CWD, 'Out.txt');
package MyFooDaemon;
use Moose;
- with 'MooseX::Daemonize::Core',
- 'MooseX::Daemonize::WithPidFile';
+ with 'MooseX::Daemonize::WithPidFile';
sub init_pidfile {
MooseX::Daemonize::Pid::File->new( file => $PIDFILE )
sub start {
my $self = shift;
+ # this tests our bad PID
+ # cleanup functionality.
+ print "Our parent PID is " . $self->pidfile->pid . "\n" if ::DEBUG;
+
$self->daemonize;
return unless $self->is_daemon;
- $self->pidfile->write;
-
# make it easy to find with ps
- $0 = 'test-app';
+ $0 = 'test-app-2';
$SIG{INT} = sub {
print "Got INT! Oh Noes!";
$self->pidfile->remove;
ok($p->is_running, '... the daemon process is running (' . $p->pid . ')');
my $pid = $p->pid;
-diag `ps $pid`;
-diag "-------";
-diag `ps -x | grep test-app`;
-diag "-------";
-diag "killing $pid";
+if (DEBUG) {
+ diag `ps $pid`;
+ diag "-------";
+ diag `ps -x | grep test-app`;
+ diag "-------";
+ diag "killing $pid";
+}
kill INT => $p->pid;
-diag "killed $pid";
+diag "killed $pid" if DEBUG;
sleep(2);
-diag `ps $pid`;
-diag "-------";
-diag `ps -x | grep test-app`;
+if (DEBUG) {
+ diag `ps $pid`;
+ diag "-------";
+ diag `ps -x | grep test-app`;
+}
ok(!$p->is_running, '... the daemon process is no longer running (' . $p->pid . ')');
ok(!(-e $PIDFILE), '... the PID file has been removed');
+unlink $ENV{MX_DAEMON_STDOUT};
+unlink $ENV{MX_DAEMON_STDERR};