Commit | Line | Data |
e9b0b5f0 |
1 | use strict; |
0e3e3555 |
2 | use warnings FATAL => 'all'; |
3 | |
4 | use Test::More; |
e9b0b5f0 |
5 | |
6 | use t::common qw( new_fh ); |
7 | |
45f047f8 |
8 | sub do_stuff { |
9 | my ($db) = @_; |
10 | |
11 | $db->{foo}{bar} = [ 1 .. 3 ]; |
12 | } |
13 | |
14 | sub verify { |
15 | my ($db) = @_; |
16 | |
17 | cmp_ok( $db->{foo}{bar}[2], '==', 3, "Correct value found" ); |
18 | } |
19 | |
e9b0b5f0 |
20 | use_ok( 'DBM::Deep' ); |
21 | |
22 | my %sizes; |
23 | |
24 | { |
25 | my ($fh, $filename) = new_fh(); |
26 | { |
27 | my $db = DBM::Deep->new( |
28 | file => $filename, |
29 | data_sector_size => 32, |
30 | ); |
31 | |
32 | do_stuff( $db ); |
33 | } |
34 | |
35 | $sizes{32} = -s $filename; |
36 | |
37 | { |
45f047f8 |
38 | my $db = DBM::Deep->new( file => $filename ); |
e9b0b5f0 |
39 | verify( $db ); |
f1879fdc |
40 | $db->_get_self->_engine->storage->close( $db->_get_self ); |
e9b0b5f0 |
41 | } |
42 | } |
43 | |
44 | { |
45 | my ($fh, $filename) = new_fh(); |
46 | { |
47 | my $db = DBM::Deep->new( |
48 | file => $filename, |
49 | data_sector_size => 64, |
50 | ); |
51 | |
52 | do_stuff( $db ); |
53 | } |
54 | |
55 | $sizes{64} = -s $filename; |
56 | |
57 | { |
58 | my $db = DBM::Deep->new( $filename ); |
59 | verify( $db ); |
f1879fdc |
60 | $db->_get_self->_engine->storage->close( $db->_get_self ); |
e9b0b5f0 |
61 | } |
62 | } |
63 | |
64 | { |
65 | my ($fh, $filename) = new_fh(); |
66 | { |
67 | my $db = DBM::Deep->new( |
68 | file => $filename, |
69 | data_sector_size => 128, |
70 | ); |
71 | |
72 | do_stuff( $db ); |
73 | } |
74 | |
75 | $sizes{128} = -s $filename; |
76 | |
77 | { |
78 | my $db = DBM::Deep->new( $filename ); |
79 | verify( $db ); |
f1879fdc |
80 | $db->_get_self->_engine->storage->close( $db->_get_self ); |
e9b0b5f0 |
81 | } |
82 | } |
83 | |
84 | { |
85 | my ($fh, $filename) = new_fh(); |
86 | { |
87 | my $db = DBM::Deep->new( |
88 | file => $filename, |
89 | data_sector_size => 256, |
90 | ); |
91 | |
92 | do_stuff( $db ); |
93 | } |
94 | |
95 | $sizes{256} = -s $filename; |
96 | |
97 | { |
98 | my $db = DBM::Deep->new( $filename ); |
99 | verify( $db ); |
f1879fdc |
100 | $db->_get_self->_engine->storage->close( $db->_get_self ); |
e9b0b5f0 |
101 | } |
102 | } |
103 | |
104 | cmp_ok( $sizes{256}, '>', $sizes{128}, "Filesize for 256 > filesize for 128" ); |
105 | cmp_ok( $sizes{128}, '>', $sizes{64}, "Filesize for 128 > filesize for 64" ); |
106 | cmp_ok( $sizes{64}, '>', $sizes{32}, "Filesize for 64 > filesize for 32" ); |
107 | |
0e3e3555 |
108 | done_testing; |