X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Faggregate%2Fpsgi_file.t;h=a06b22114a2bc6cd0ec42ca609ee610a25ef6ed8;hb=3d5bcdf43a28bf58551db1e8fe19a96102a5b624;hp=7327d4aab333234f0d8c71dbbaeeae0ce256777d;hpb=4a0dc2595b2ed1f6ab0e79ff4727eb9135be1665;p=catagits%2FCatalyst-Runtime.git diff --git a/t/aggregate/psgi_file.t b/t/aggregate/psgi_file.t index 7327d4a..a06b221 100644 --- a/t/aggregate/psgi_file.t +++ b/t/aggregate/psgi_file.t @@ -6,6 +6,7 @@ use lib "$FindBin::Bin/../lib"; use File::Temp qw/ tempdir /; use TestApp; use File::Spec; +use Carp qw/croak/; my $home = tempdir( CLEANUP => 1 ); my $path = File::Spec->catfile($home, 'testapp.psgi'); @@ -19,11 +20,26 @@ use TestApp; TestApp->psgi_app; }; close($psgi); + +my ($saved_stdout, $saved_stderr); +open( $saved_stdout, '>&'. STDOUT->fileno ) + or croak("Can't dup stdout: $!"); +open( $saved_stderr, '>&'. STDERR->fileno ) + or croak("Can't dup stderr: $!"); +open( STDOUT, '+>', undef ) + or croak("Can't reopen stdout to /dev/null"); +open( STDERR, '+>', undef ) + or croak("Can't reopen stdout to /dev/null"); # Check we wrote out something that compiles system($^X, '-I', "$FindBin::Bin/../lib", '-c', $path) ? fail('.psgi does not compile') : pass('.psgi compiles'); +open( STDOUT, '>&'. fileno($saved_stdout) ) + or croak("Can't restore stdout: $!"); +open( STDERR, '>&'. fileno($saved_stderr) ) + or croak("Can't restore stderr: $!"); + # NOTE - YOU *CANNOT* do something like: #my $psgi_ref = require $path; # otherwise this test passes!