use lib "$Bin/lib";
use Test::More;
-use Catalyst::Test 'TestCGIBin';
use HTTP::Request::Common;
+my %orig_sig;
+BEGIN { %orig_sig = %SIG; }
+
+use Catalyst::Test 'TestCGIBin';
+
# this should be ignored
$ENV{MOD_PERL} = "mod_perl/2.0";
+is_deeply \%SIG, \%orig_sig, '%SIG is preserved on compile';
+%SIG = %orig_sig;
+
my $response = request POST '/my-bin/path/test.pl', [
foo => 'bar',
bar => 'baz'
is($response->content, '/path/info',
'PATH_INFO works');
-my %orig_sig = %SIG;
-
ok request '/my-bin/sigs.pl';
is_deeply \%SIG, \%orig_sig, '%SIG is preserved';
# for some reason the +x is not preserved in the dist
system "chmod +x $Bin/lib/TestCGIBin/root/cgi-bin/test.sh";
+ system "chmod +x $Bin/lib/TestCGIBin/root/cgi-bin/exit_nonzero.sh";
is(get('/my-bin/test.sh'), "Hello!\n", 'Non-Perl CGI File');
+
+ $response = request GET '/my-bin/exit_nonzero.sh';
+ is $response->code, 500, 'Non-Perl CGI with non-zero exit dies';
}
done_testing;