s/no_plan => 1/'no_plan'/g
[gitmo/MooseX-Daemonize.git] / t / 31.with_pid_file_and_poe.t
index 740090f..23ac3bb 100644 (file)
@@ -3,27 +3,31 @@
 use strict;
 use warnings;
 
-use Cwd;
 use File::Spec::Functions;
 
 use Test::More;
 use Test::Exception;
 use Test::Moose;
 
+use File::Temp qw(tempdir);
+
+my $dir = tempdir( CLEANUP => 1 );
+
 BEGIN {
     eval 'use POE::Kernel;';
     plan skip_all => "POE required for this test" if $@;
-    plan no_plan => 1;
+    plan 'no_plan';
     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');
-$ENV{MX_DAEMON_STDERR} = catfile($CWD, 'Err.txt');
+my $PIDFILE            = catfile($dir, 'test-app.pid');
+$ENV{MX_DAEMON_STDOUT} = catfile($dir, 'Out.txt');
+$ENV{MX_DAEMON_STDERR} = catfile($dir, 'Err.txt');
+
+unlink $PIDFILE; # clean up anythinf leftover by last run
 
 {
     package MyFooDaemon;
@@ -63,6 +67,7 @@ $ENV{MX_DAEMON_STDERR} = catfile($CWD, 'Err.txt');
             },
             terminate => sub {
               my ($kernel, $heap) = @_[KERNEL, HEAP];
+              $self->pidfile->remove if $self->pidfile->pid == $$;
             }
           },
           heap => [ 0 ]