X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F20.core.t;h=f3bda2c9b56080e139e79d838398b0e99297764e;hb=1474b8d3db6aeb45b37592dc823c468a5b3f3c73;hp=e239e80c042b6cc11497f057f5ac21281e6854cf;hpb=2ecc2ccba1b854569f9b5792a72489afec1d17aa;p=gitmo%2FMooseX-Daemonize.git diff --git a/t/20.core.t b/t/20.core.t index e239e80..f3bda2c 100644 --- a/t/20.core.t +++ b/t/20.core.t @@ -1,10 +1,8 @@ -#!/usr/bin/perl - use strict; use warnings; -use Test::More 'no_plan'; -use Test::Exception; +use Test::More; +use Test::Fatal; use Test::Moose; use File::Temp qw(tempdir); use File::Spec::Functions; @@ -68,9 +66,11 @@ my $d = MyFooDaemon->new; isa_ok($d, 'MyFooDaemon'); does_ok($d, 'MooseX::Daemonize::Core'); -lives_ok { - $d->start; -} '... successfully daemonized from (' . $$ . ')'; +is( + exception { $d->start }, + undef, + '... successfully daemonized from (' . $$ . ')', +); my $p = $d->daemon_pid; isa_ok($p, 'MooseX::Daemonize::Pid'); @@ -87,7 +87,14 @@ if (DEBUG) { } kill INT => $p->pid; diag "killed $pid" if DEBUG; -sleep(2); + +# give the process time to be killed on slow/loaded systems +for (1..10) { + last unless kill 0 => $pid; + # sleep a little before retrying + sleep(2); +} + if (DEBUG) { diag `ps $pid`; diag "-------"; @@ -99,4 +106,5 @@ ok(!$p->is_running, '... the daemon process is no longer running (' . $p->pid . unlink $ENV{MX_DAEMON_STDOUT}; unlink $ENV{MX_DAEMON_STDERR}; +done_testing;