more tempdir for robustness
Yuval Kogman [Wed, 18 Jun 2008 08:26:06 +0000 (08:26 +0000)]
lib/Test/MooseX/Daemonize.pm
t/02.stdout.t
t/20.core.t
t/30.with_pid_file.t

index ec42672..1f7239f 100644 (file)
@@ -104,19 +104,18 @@ This document describes MooseX::Daemonize version 0.0.1
 
 =head1 SYNOPSIS
     
-    package main;
-    use Cwd;
+    use File::Spec::Functions;
+    use File::Temp qw(tempdir);
+
+    my $dir = tempdir( CLEANUP => 1 );
 
     ## Try to make sure we are in the test directory
-    chdir 't' if ( Cwd::cwd() !~ m|/t$| );
-    my $cwd = Cwd::cwd();
 
-    my $file = join( '/', $cwd, 'im_alive' );
-    my $daemon = FileMaker->new( pidbase => '.', filename => $file );
+    my $file = catfile( $dir, "im_alive" );
+    my $daemon = FileMaker->new( pidbase => $dir, filename => $file );
 
     daemonize_ok( $daemon, 'child forked okay' );
     ok( -e $file, "$file exists" );
-    unlink($file);
 
 =head1 DESCRIPTION
 
index 4d596c1..d7ed212 100644 (file)
@@ -30,16 +30,18 @@ my $Test = Test::Builder->new;
 }
 
 package main;
-use Cwd;
 use strict;
 use warnings;
 
+use File::Spec::Functions;
+use File::Temp qw(tempdir);
+
+my $dir = tempdir( CLEANUP => 1 );
+
 ## Try to make sure we are in the test directory
-chdir 't' if ( Cwd::cwd() !~ m|/t$| );
-my $cwd = Cwd::cwd();
 my $app = TestOutput->new(
-    pidbase     => $cwd,
-    test_output => join( '/', $cwd, 'results' ),
+    pidbase     => $dir,
+    test_output => catfile($dir, 'results'),
 );
 daemonize_ok( $app, 'child forked okay' );
 sleep(3);    # give ourself a chance to produce some output
index f0161ee..6399dca 100644 (file)
@@ -3,12 +3,13 @@
 use strict;
 use warnings;
 
-use Cwd;
-use File::Spec::Functions;
-
 use Test::More no_plan => 1;
 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');
@@ -17,9 +18,8 @@ BEGIN {
 
 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;
@@ -50,7 +50,7 @@ $ENV{MX_DAEMON_STDERR} = catfile($CWD, 'Err.txt');
         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 { 
index 135673b..82a7f4b 100644 (file)
@@ -3,12 +3,15 @@
 use strict;
 use warnings;
 
-use Cwd;
 use File::Spec::Functions;
 
 use Test::More no_plan => 1;
 use Test::Exception;
 use Test::Moose;
+use File::Temp qw(tempdir);
+
+my $dir = tempdir( CLEANUP => 1 );
+
 
 BEGIN {
     use_ok('MooseX::Daemonize::Core');  
@@ -16,10 +19,9 @@ BEGIN {
 
 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;