0.10 release
[gitmo/MooseX-Daemonize.git] / t / 31.with_pid_file_and_poe.t
diff --git a/t/31.with_pid_file_and_poe.t b/t/31.with_pid_file_and_poe.t
deleted file mode 100644 (file)
index 23ac3bb..0000000
+++ /dev/null
@@ -1,133 +0,0 @@
-#!/usr/bin/perl
-
-use strict;
-use warnings;
-
-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';
-    use_ok('MooseX::Daemonize::Core');
-    
-}
-
-use constant DEBUG => 0;
-
-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;
-    use Moose;
-    use POE;
-    
-    with 'MooseX::Daemonize::WithPidFile';
-         
-    sub init_pidfile {
-        MooseX::Daemonize::Pid::File->new( file => $PIDFILE )
-    }
-    
-    sub start {
-        my $self = shift;
-        
-        # this tests our bad PID 
-        # cleanup functionality.
-        print "Our parent PID is " . $self->pidfile->pid . "\n" if ::DEBUG;
-        
-        $self->daemonize;
-        return unless $self->is_daemon;
-
-        my $session = POE::Session->create(
-          inline_states => {
-            say_hello => sub { 
-              my ($kernel, $heap) = @_[KERNEL, HEAP];
-
-              print "Hello from $$\n";
-
-              $heap->[0] = $kernel->delay_set('say_hello', 10);
-            },
-            _start => sub {
-              my ($kernel, $heap) = @_[KERNEL, HEAP];
-              $kernel->sig( INT => 'terminate');
-
-              $kernel->yield('say_hello');
-            },
-            terminate => sub {
-              my ($kernel, $heap) = @_[KERNEL, HEAP];
-              $self->pidfile->remove if $self->pidfile->pid == $$;
-            }
-          },
-          heap => [ 0 ]
-        );
-        
-        
-        # make it easy to find with ps
-        $0 = 'test-app-2';
-        POE::Kernel->run;
-        exit;
-    }
-}
-
-my $d = MyFooDaemon->new( pidfile => $PIDFILE );
-isa_ok($d, 'MyFooDaemon');
-does_ok($d, 'MooseX::Daemonize::Core');
-does_ok($d, 'MooseX::Daemonize::WithPidFile');
-
-ok($d->has_pidfile, '... we have a pidfile value');
-
-{
-    my $p = $d->pidfile;
-    isa_ok($p, 'MooseX::Daemonize::Pid::File');
-    #diag $p->dump;
-}
-
-ok(!(-e $PIDFILE), '... the PID file does not exist yet');
-
-lives_ok {
-    $d->start;
-} '... successfully daemonized from (' . $$ . ')';
-
-my $p = $d->pidfile;
-isa_ok($p, 'MooseX::Daemonize::Pid::File');
-#diag $p->dump;
-
-sleep(2);
-
-ok($p->does_file_exist, '... the PID file exists');
-ok($p->is_running, '... the daemon process is running (' . $p->pid . ')');
-
-my $pid = $p->pid;
-if (DEBUG) {
-    diag `ps $pid`;
-    diag "-------";
-    diag `ps -x | grep test-app`;
-    diag "-------";
-    diag "killing $pid";
-}
-kill INT => $p->pid;
-diag "killed $pid" if DEBUG;
-sleep(2);
-if (DEBUG) {
-    diag `ps $pid`;
-    diag "-------";
-    diag `ps -x | grep test-app`;
-}
-
-ok(!$p->is_running, '... the daemon process is no longer running (' . $p->pid . ')');
-ok(!(-e $PIDFILE), '... the PID file has been removed');
-
-unlink $ENV{MX_DAEMON_STDOUT};
-unlink $ENV{MX_DAEMON_STDERR};