Fixed array test slowness by preventing Test::Builder's SIG{__DIE__} from being called
rkinyon [Fri, 24 Feb 2006 19:29:27 +0000 (19:29 +0000)]
lib/DBM/Deep/Array.pm
lib/DBM/Deep/Hash.pm
t/03_bighash.t
t/05_bigarray.t

index c6e9bf7..a11619a 100644 (file)
@@ -13,7 +13,7 @@ use base 'DBM::Deep';
 use Scalar::Util ();
 
 sub _get_self {
-    eval { tied( @{$_[0]} ) } || $_[0]
+    eval { local $SIG{'__DIE__'}; tied( @{$_[0]} ) } || $_[0]
 }
 
 sub TIEARRAY {
index 1f95438..4dc0b22 100644 (file)
@@ -5,7 +5,7 @@ use strict;
 use base 'DBM::Deep';
 
 sub _get_self {
-    eval { tied( %{$_[0]} ) } || $_[0]
+    eval { local $SIG{'__DIE__'}; tied( %{$_[0]} ) } || $_[0]
 }
 
 sub TIEHASH {
index 6bee85d..3dacd84 100644 (file)
@@ -2,10 +2,7 @@
 # DBM::Deep Test
 ##
 use strict;
-use Test::More;
-
-my $max_keys = 4000;
-plan tests => 2;
+use Test::More tests => 2;
 
 use_ok( 'DBM::Deep' );
 
@@ -21,6 +18,8 @@ if ($db->error()) {
 ##
 # put/get many keys
 ##
+my $max_keys = 4000;
+
 for ( 0 .. $max_keys ) {
     $db->put( "hello $_" => "there " . $_ * 2 );
 }
index c729c8d..afca57f 100644 (file)
@@ -27,7 +27,7 @@ for ( 0 .. $max_keys ) {
 my $count = -1;
 for ( 0 .. $max_keys ) {
     $count = $_;
-    unless( $db->get( $_ ) == $_ * 2 ) {
+    unless ( $db->get( $_ ) == $_ * 2 ) {
         last;
     };
 }