X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Flive_fork.t;h=d10e9d5a9317221303d9d42011464b57dcd58f18;hb=c057ae860545285e5812b5ba86ea992e203be773;hp=bd7054efca03af21327d696aef7a982444600f88;hpb=08ace8f70b0bbd54ebbd4aa525514039f6ac1237;p=catagits%2FCatalyst-Runtime.git diff --git a/t/live_fork.t b/t/live_fork.t index bd7054e..d10e9d5 100644 --- a/t/live_fork.t +++ b/t/live_fork.t @@ -1,5 +1,5 @@ #!/usr/bin/perl -# live_fork.t +# live_fork.t # Copyright (c) 2006 Jonathan Rockway =head1 SYNOPSIS @@ -10,17 +10,19 @@ Tests if Catalyst can fork/exec other processes successfully use strict; use warnings; use Test::More; -use YAML; use FindBin; use lib "$FindBin::Bin/lib"; use Catalyst::Test qw(TestApp); -plan skip_all => 'Using remote server' - if $ENV{CATALYST_SERVER}; - +eval 'use YAML'; +plan skip_all => 'YAML required' if $@; + +plan skip_all => 'Using remote server (and REMOTE_FORK not set)' + if $ENV{CATALYST_SERVER} && !$ENV{REMOTE_FORK}; + plan skip_all => 'Skipping fork tests: no /bin/ls' if !-e '/bin/ls'; # see if /bin/ls exists - + plan tests => 13; # otherwise { @@ -28,30 +30,30 @@ plan tests => 13; # otherwise ok(my $result = get('/fork/system/%2Fbin%2Fls'), 'system'); my @result = split /$/m, $result; $result = join q{}, @result[-4..-1]; - + my $result_ref = eval { Load($result) }; ok($result_ref, 'is YAML'); is($result_ref->{result}, 0, 'exited OK'); } -{ +{ backticks: ok(my $result = get('/fork/backticks/%2Fbin%2Fls'), '`backticks`'); my @result = split /$/m, $result; $result = join q{}, @result[-4..-1]; - + my $result_ref = eval { Load($result) }; ok($result_ref, 'is YAML'); is($result_ref->{code}, 0, 'exited successfully'); like($result_ref->{result}, qr{^/bin/ls[^:]}, 'contains ^/bin/ls$'); like($result_ref->{result}, qr{\n.*\n}m, 'contains two newlines'); } -{ +{ fork: ok(my $result = get('/fork/fork'), 'fork'); my @result = split /$/m, $result; $result = join q{}, @result[-4..-1]; - + my $result_ref = eval { Load($result) }; ok($result_ref, 'is YAML'); isnt($result_ref->{pid}, 0, q{fork's "pid" wasn't 0});