This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Clean up temp files/dirs left by Archive-Tar tests
[perl5.git] / lib / Carp.t
index 47f83c9..2ce5eb4 100644 (file)
@@ -4,9 +4,11 @@ BEGIN {
        require './test.pl';
 }
 
+my $Is_VMS = $^O eq 'VMS';
+
 use Carp qw(carp cluck croak confess);
 
-plan tests => 19;
+plan tests => 21;
 
 ok 1;
 
@@ -155,3 +157,19 @@ sub w { cluck @_ }
         main::w(1);
     }
 }
+
+
+{
+    local $TODO = "VMS exit status semantics don't work this way" if $Is_VMS;
+
+    # Check that croak() and confess() don't clobber $!
+    runperl(prog => 'use Carp; $@=q{Phooey}; $!=42; croak(q{Dead})', 
+           stderr => 1);
+
+    is($?>>8, 42, 'croak() doesn\'t clobber $!');
+
+    runperl(prog => 'use Carp; $@=q{Phooey}; $!=42; confess(q{Dead})', 
+           stderr => 1);
+
+    is($?>>8, 42, 'confess() doesn\'t clobber $!');
+}