2 # This was discussed here:
3 # http://groups.google.com/group/DBM-Deep/browse_thread/thread/a6b8224ffec21bab
4 # brought up by Alex Gallichotte
9 use t::common qw( new_fh );
11 my ($fh, $filename) = new_fh();
12 my $db = DBM::Deep->new( file => $filename, fh => $fh, );
16 $db->{randkey()} = 1 for 1 .. 1000;
18 plan tests => $todo*2;
21 my @mem = (mem(0), mem(1));
22 for my $i (1 .. $todo) {
23 $db->{randkey()} = [@mem];
25 print STDERR " @mem \r";
27 my @tm = (mem(0), mem(1));
29 skip( not($mem[0]), $tm[0] <= $mem[0] );
30 skip( not($mem[1]), $tm[1] <= $mem[1] );
32 $error_count ++ if $tm[0] > $mem[0] or $tm[1] > $mem[1];
33 die " ERROR: that's enough failures to prove the point ... " if $error_count > 20;
40 my @k = map { int rand 100 } 1 .. 10;
47 open my $in, "/proc/$$/statm" or return 0;
48 my $line = [ split m/\s+/, <$in> ];
51 return $line->[shift];
57 Provides information about memory status in pages. The columns are:
59 size total program size
60 resident resident set size
65 dt dirty pages (unused in Linux 2.6)