This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
[perl #82854] utf8, $SIG{__DIE__}, syntax errors and Carp
[perl5.git] / lib / Carp.t
index 9a785f5..b9997cc 100644 (file)
@@ -12,7 +12,7 @@ my $Is_VMS = $^O eq 'VMS';
 use Carp qw(carp cluck croak confess);
 
 BEGIN {
-    plan tests => 56;
+    plan tests => 57;
 
     # This test must be run at BEGIN time, because code later in this file
     # sets CORE::GLOBAL::caller
@@ -377,6 +377,19 @@ like(
     'Correct arguments for A'
 );
 
+# UTF8-flagged strings should not cause Carp to try to load modules (even
+# implicitly via utf8_heavy.pl) after a syntax error [perl #82854].
+fresh_perl_like(
+ q<
+   use utf8; use strict; use Carp;
+   BEGIN { $SIG{__DIE__} = sub { Carp::croak "aaaaa$_[0]" } }
+   $c
+  >,
+ qr/aaaaa/,
+ {stderr=>1},
+ 'Carp can handle UTF8-flagged strings after a syntax error',
+);
+
 # New tests go here
 
 # line 1 "A"