X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=t%2Faggregate%2Fpsgi_file.t;h=0e07d21f796e131fa49219bdb0674296dee88947;hp=a06b22114a2bc6cd0ec42ca609ee610a25ef6ed8;hb=10542b5178b2fa036e0658111523ea68a7a04437;hpb=3d5bcdf43a28bf58551db1e8fe19a96102a5b624 diff --git a/t/aggregate/psgi_file.t b/t/aggregate/psgi_file.t index a06b221..0e07d21 100644 --- a/t/aggregate/psgi_file.t +++ b/t/aggregate/psgi_file.t @@ -22,10 +22,8 @@ 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: $!"); +my $stdout = !open( $saved_stdout, '>&'. STDOUT->fileno ); +my $stderr = !open( $saved_stderr, '>&'. STDERR->fileno ); open( STDOUT, '+>', undef ) or croak("Can't reopen stdout to /dev/null"); open( STDERR, '+>', undef ) @@ -35,10 +33,12 @@ 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: $!"); +if ($stdout) { + open( STDOUT, '>&'. fileno($saved_stdout) ); +} +if ($stderr) { + open( STDERR, '>&'. fileno($saved_stderr) ); +} # NOTE - YOU *CANNOT* do something like: #my $psgi_ref = require $path;