]> git.vpit.fr Git - perl/modules/autovivification.git/blobdiff - samples/stress_realloc.pl
Assert that ops reallocated are handled correctly
[perl/modules/autovivification.git] / samples / stress_realloc.pl
diff --git a/samples/stress_realloc.pl b/samples/stress_realloc.pl
new file mode 100644 (file)
index 0000000..694e9a0
--- /dev/null
@@ -0,0 +1,28 @@
+#!perl
+
+use strict;
+use warnings;
+use blib;
+
+my $n = 1_000;
+my $p = 100;
+
+my $test = <<'TEST';
+ my $e = $x->{foo}[0]{bar};
+ delete $x->{a}[1]{b};
+ exists $x->{x}[2]{y};
+TEST
+
+for (1 .. $n) {
+ my $x;
+ my $r = eval <<" CODE";
+  no autovivification;
+  $test
+ CODE
+ die $@ if $@ or defined $x;
+ for (1 .. $p) {
+  my $x;
+  my $r = eval $test;
+  die $@ if $@;
+ }
+}