This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Carp/t/arg_string.t: be liberal in f/p formats
authorDavid Mitchell <davem@iabyn.com>
Thu, 27 Oct 2016 08:09:24 +0000 (09:09 +0100)
committerDavid Mitchell <davem@iabyn.com>
Thu, 27 Oct 2016 08:09:24 +0000 (09:09 +0100)
[perl #129954] dist/Carp/t/arg_string.t: Test fails

This test script checks that args are displayed sensibly in longmess()
output, but floating-point numbers can be displayed in various formats
depending on platform, so make the regex more forgiving.

Also add a comment to the top of the script explaining its purpose.

dist/Carp/t/arg_string.t

index c94ec48..4c754c5 100644 (file)
@@ -1,6 +1,8 @@
 use warnings;
 use strict;
 
+# confirm that stack args are displayed correctly by longmess()
+
 use Test::More tests => 32;
 
 use Carp ();
@@ -22,7 +24,11 @@ like lm(3), qr/main::lm\(3\)/;
 like lm(substr("3\x{2603}", 0, 1)), qr/main::lm\(3\)/;
 like lm(-3), qr/main::lm\(-3\)/;
 like lm(-3.5), qr/main::lm\(-3\.5\)/;
-like lm(-3.5e30), qr/main::lm\(-3\.5[eE]\+?30\)/;
+like lm(-3.5e30),
+            qr/main::lm\(
+                -3500000000000000000000000000000
+              | -3\.5[eE]\+?0?30\)
+            /x;
 like lm(""), qr/main::lm\(""\)/;
 like lm("foo"), qr/main::lm\("foo"\)/;
 like lm("a\$b\@c\\d\"e"), qr/main::lm\("a\\\$b\\\@c\\\\d\\\"e"\)/;