diff options
| author | fukachan <fukachan> | 2001-08-21 10:30:32 +0000 |
|---|---|---|
| committer | fukachan <fukachan> | 2001-08-21 10:30:32 +0000 |
| commit | 10f0cdb58372123f5986cd7646e1d23c306199bb (patch) | |
| tree | b1d0a17f19f3bc0f46669de700337600a5cdbe06 /regress | |
| parent | c45c3556b6f2fa709b86a75ddbc3cd8fe770dcf3 (diff) | |
| download | fml8-10f0cdb58372123f5986cd7646e1d23c306199bb.tar.gz fml8-10f0cdb58372123f5986cd7646e1d23c306199bb.tar.bz2 fml8-10f0cdb58372123f5986cd7646e1d23c306199bb.zip | |
randamize inputs, check both keys and values
Diffstat (limited to 'regress')
| -rwxr-xr-x | regress/base/journaleddir.pl | 102 |
1 files changed, 86 insertions, 16 deletions
diff --git a/regress/base/journaleddir.pl b/regress/base/journaleddir.pl index 7f7e194f..9912eb8d 100755 --- a/regress/base/journaleddir.pl +++ b/regress/base/journaleddir.pl @@ -1,46 +1,116 @@ #!/usr/bin/env perl # -# $FML$ +# $FML: journaleddir.pl,v 1.1 2001/08/21 03:46:40 fukachan Exp $ # +BEGIN { + print "init journaleddir ...\n"; +}; + use Tie::JournaledDir; +$| = 1; + my $key = shift || 'uja'; -my $unit = 60; +my $unit = 2; my $dir = "/tmp/fml5/jd"; -system "mkdir -p $dir" unless -d $dir; -&_read(); -&_write(); + +if (-d $dir) { + use DirHandle; + my $dh = new DirHandle $dir; + for ($dh->read) { unlink "$dir/$_" if -f "$dir/$_";} +} +else { + system "mkdir -p $dir" unless -d $dir; +} + +my $testpat = { + 'rudo' => $$, + 'rudo$$' => time(), + $$ => "elena", + time() => "kumiko", +}; + +for my $k (keys %$testpat) { + my ($buf, $newkey); + chop($buf = `/usr/games/fortune | sed 1q`); + $buf =~ s/^s*//; + if ($buf =~ /^(\S+)/) { $newkey = $1;} + $testpat->{ $k } = $buf; + $testpat->{ $k.$newkey } = $buf; +} + +&_write($testpat); +&_read($testpat); exit 0; sub _read { + my ($pat) = @_; + tie %db, 'Tie::JournaledDir', { unit => $unit, dir => $dir, }; - print " $key => $db{ $key }\n"; + my $error = 0; + my %found = %$pat; + + print "check keys and values "; + for my $k (keys %db) { + print "."; + if (defined $db{$k}) { + if ($db{$k} ne $pat->{$k}) { + print "($k) differs: ["; + print $db{$k}; + print "] != ["; + print $pat->{$k}; + print "]\n"; + $error++; + } - print "\n keys: "; - print join(" ", keys %db); + delete $found{$k}; + } + } + + for (%found) { + $error++; + print "$_ is not found in journaled dir/ ?\n"; + } + + if ($error) { + print " fail\n"; + } + else { + print " ok\n"; + } + + untie %db; + + system "ls -l $dir"; print "\n"; } sub _write { - tie %db, 'Tie::JournaledDir', { - unit => $unit, - dir => $dir, - }; + my ($pat) = @_; - my $x = `date`; - chop $x; - $db{ $key } = $x; + print "write journaleddir "; + for my $key (keys %$pat) { + tie %db, 'Tie::JournaledDir', { + unit => $unit, + dir => $dir, + }; - untie %db; + $db{ $key } = $pat->{ $key }; + print "$key "; + sleep 1; + + untie %db; + } + print " done\n"; } |
