Converted all relevant tests to use new_dbm instead of new_fh and all tests (except...
[dbsrgits/DBM-Deep.git] / t / 53_misc_transactions.t
CommitLineData
403f8ed3 1# This was discussed here:
2# http://groups.google.com/group/DBM-Deep/browse_thread/thread/a6b8224ffec21bab
3# brought up by Alex Gallichotte
4
5use strict;
f0276afb 6use warnings FATAL => 'all';
09dd8113 7
0e3e3555 8use Test::More;
9use t::common qw( new_dbm );
403f8ed3 10
09dd8113 11use_ok( 'DBM::Deep' );
12
0e3e3555 13my $dbm_factory = new_dbm();
14while ( my $dbm_maker = $dbm_factory->() ) {
15 my $db = $dbm_maker->();
16 eval { $db->{randkey()} = randkey() for 1 .. 10; }; ok(!$@, "No eval failures");
403f8ed3 17
0e3e3555 18 eval {
19 #$db->begin_work;
20 $db->{randkey()} = randkey() for 1 .. 10;
21 #$db->commit;
22 };
23 ok(!$@, "No eval failures from the transaction");
403f8ed3 24
0e3e3555 25 eval { $db->{randkey()} = randkey() for 1 .. 10; };
26 ok(!$@, "No eval failures");
27}
403f8ed3 28
0e3e3555 29done_testing;
403f8ed3 30
31sub randkey {
0e3e3555 32 our $i++;
403f8ed3 33 my @k = map { int rand 100 } 1 .. 10;
34 local $" = "-";
35
36 return "$i-@k";
37}