summaryrefslogtreecommitdiff
path: root/dist/Storable/t/croak.t
diff options
context:
space:
mode:
Diffstat (limited to 'dist/Storable/t/croak.t')
-rw-r--r--dist/Storable/t/croak.t38
1 files changed, 38 insertions, 0 deletions
diff --git a/dist/Storable/t/croak.t b/dist/Storable/t/croak.t
new file mode 100644
index 0000000000..ecd2bf831b
--- /dev/null
+++ b/dist/Storable/t/croak.t
@@ -0,0 +1,38 @@
+#!./perl -w
+
+# Please keep this test this simple. (ie just one test.)
+# There's some sort of not-croaking properly problem in Storable when built
+# with 5.005_03. This test shows it up, whereas malice.t does not.
+# In particular, don't use Test; as this covers up the problem.
+
+sub BEGIN {
+ if ($ENV{PERL_CORE}) {
+ require Config; import Config;
+ %Config=%Config if 0; # cease -w
+ if ($Config{'extensions'} !~ /\bStorable\b/) {
+ print "1..0 # Skip: Storable was not built\n";
+ exit 0;
+ }
+ }
+}
+
+use strict;
+
+BEGIN {
+ die "Oi! No! Don't change this test so that Carp is used before Storable"
+ if defined &Carp::carp;
+}
+use Storable qw(freeze thaw);
+
+print "1..2\n";
+
+for my $test (1,2) {
+ eval {thaw "\xFF\xFF"};
+ if ($@ =~ /Storable binary image v127.255 more recent than I am \(v2\.\d+\)/)
+ {
+ print "ok $test\n";
+ } else {
+ chomp $@;
+ print "not ok $test # Expected a meaningful croak. Got '$@'\n";
+ }
+}