Merged with master and am ready to merge back
[dbsrgits/DBM-Deep.git] / t / 04_array.t
index f8d69fe..fe518db 100644 (file)
@@ -271,3 +271,21 @@ while ( my $dbm_maker = $dbm_factory->() ) {
 }
 
 done_testing;
+__END__
+{ # Make sure we do not trigger a deep recursion warning [RT #53575]
+    my $w;
+    local $SIG{__WARN__} = sub { $w = shift };
+    my ($fh, $filename) = new_fh();
+    my $db = DBM::Deep->new( file => $filename, fh => $fh, );
+    my $a = [];
+    my $tmp = $a;
+    for(1..100) {
+        ($tmp) = @$tmp = [];
+    }
+    ok eval {
+        $db->{""} = $a;
+    }, 'deep recursion in array assignment' or diag $@;
+    is $w, undef, 'no warnings with deep recursion in array assignment';
+}
+
+done_testing;