-#!/usr/bin/perl
-
use strict;
use warnings;
-use Cwd;
use File::Spec::Functions;
-use Test::More no_plan => 1;
-use Test::Exception;
+use Test::More 'no_plan';
+use Test::Fatal;
use Test::Moose;
+use File::Temp qw(tempdir);
+
+my $dir = tempdir( CLEANUP => 1 );
+
BEGIN {
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');
{
package MyFooDaemon;
ok(!(-e $PIDFILE), '... the PID file does not exist yet');
-lives_ok {
- $d->start;
-} '... successfully daemonized from (' . $$ . ')';
+is(
+ exception { $d->start },
+ undef,
+ '... successfully daemonized from (' . $$ . ')',
+);
my $p = $d->pidfile;
isa_ok($p, 'MooseX::Daemonize::Pid::File');