X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F20.core.t;h=e239e80c042b6cc11497f057f5ac21281e6854cf;hb=f6bb848466d452b64d695593296598536bb2064c;hp=f0161ee106bd2f0e5e7a2b61b2da5ee4754056e8;hpb=fe0eeebc050311829e0f93a2d86018be78598d47;p=gitmo%2FMooseX-Daemonize.git diff --git a/t/20.core.t b/t/20.core.t index f0161ee..e239e80 100644 --- a/t/20.core.t +++ b/t/20.core.t @@ -3,32 +3,32 @@ use strict; use warnings; -use Cwd; -use File::Spec::Functions; - -use Test::More no_plan => 1; +use Test::More 'no_plan'; use Test::Exception; use Test::Moose; +use File::Temp qw(tempdir); +use File::Spec::Functions; + +my $dir = tempdir( CLEANUP => 1 ); BEGIN { use_ok('MooseX::Daemonize::Core'); - use_ok('MooseX::Daemonize::Pid'); + use_ok('MooseX::Daemonize::Pid'); } use constant DEBUG => 0; -my $CWD = Cwd::cwd; -$ENV{MX_DAEMON_STDOUT} = catfile($CWD, 'Out.txt'); -$ENV{MX_DAEMON_STDERR} = catfile($CWD, 'Err.txt'); +$ENV{MX_DAEMON_STDOUT} = catfile($dir, 'Out.txt'); +$ENV{MX_DAEMON_STDERR} = catfile($dir, 'Err.txt'); { package MyFooDaemon; use Moose; - + with 'MooseX::Daemonize::Core'; - + has 'daemon_pid' => (is => 'rw', isa => 'MooseX::Daemonize::Pid'); - + # capture the PID from the fork around 'daemon_fork' => sub { my $next = shift; @@ -39,27 +39,26 @@ $ENV{MX_DAEMON_STDERR} = catfile($CWD, 'Err.txt'); ); } }; - + sub start { - my $self = shift; + my $self = shift; # tell it to ignore zombies ... - $self->daemonize( - ignore_zombies => 1, - no_double_fork => 1, - ); + $self->ignore_zombies( 1 ); + $self->no_double_fork( 1 ); + $self->daemonize; return unless $self->is_daemon; # change to our local dir # so that we can debug easier - chdir $CWD; + chdir $dir; # make it easy to find with ps $0 = 'test-app'; - $SIG{INT} = sub { - print "Got INT! Oh Noes!"; + $SIG{INT} = sub { + print "Got INT! Oh Noes!"; exit; - }; + }; while (1) { - print "Hello from $$\n"; - sleep(10); + print "Hello from $$\n"; + sleep(10); } exit; }