From 60a869d1a1aa86dcf705e5e809bab0a58cec5134 Mon Sep 17 00:00:00 2001 From: Sam Hocevar Date: Mon, 18 Dec 2006 12:48:49 +0000 Subject: [PATCH] * More testsuite improvements. --- test/testsuite.sh | 53 +++++++++++++++++++++++++++++++++++------------ 1 file changed, 40 insertions(+), 13 deletions(-) diff --git a/test/testsuite.sh b/test/testsuite.sh index f07ded8..16f37ee 100755 --- a/test/testsuite.sh +++ b/test/testsuite.sh @@ -1,12 +1,23 @@ #!/bin/sh +create() +{ + rm -f /tmp/zzuf-zero-$$ + dd if=/dev/zero of=/tmp/zzuf-zero-$$ bs=1024 count=32 2>/dev/null + rm -f /tmp/zzuf-random-$$ + dd if=/dev/urandom of=/tmp/zzuf-random-$$ bs=1024 count=32 2>/dev/null + rm -f /tmp/zzuf-text-$$ + strings /dev/urandom | dd bs=1024 count=32 of=/tmp/zzuf-text-$$ 2>/dev/null +} + check() { - RATIO="$1" - CMD="$2" - ALIAS="$3" + SEED="$1" + RATIO="$2" + CMD="$3" + ALIAS="$4" echo -n " $(echo "$ALIAS: " | cut -b1-15)" - NEWMD5="$($ZZUF -r $RATIO $CMD 2>/dev/null | md5sum | cut -b1-32)" + NEWMD5="$($ZZUF -s $SEED -r $RATIO $CMD 2>/dev/null | md5sum | cut -b1-32)" if [ -z "$MD5" ]; then MD5="$NEWMD5" echo "$NEWMD5" @@ -18,23 +29,38 @@ check() fi } +cleanup() { + rm -f /tmp/zzuf-zero-$$ + rm -f /tmp/zzuf-random-$$ + rm -f /tmp/zzuf-one-$$ + exit 0 +} + +trap "echo ''; echo 'Aborted.'; cleanup; exit 0" 1 2 15 + +seed=$(($RANDOM * $$)) ZZUF="$(dirname "$0")/../src/zzuf" FAILED=0 TESTED=0 -for file in /etc/passwd $ZZUF; do - for r in 0.0 0.001 0.01 0.1 1; do +echo "Creating test files" +create +echo "Using seed $seed" +echo "" + +for file in /tmp/zzuf-text-$$ /tmp/zzuf-zero-$$ /tmp/zzuf-random-$$; do + for r in 0.0 0.00001 0.0001 0.001 0.01 0.1 1.0 10.0; do echo "Testing zzuf on $file, ratio $r:" OK=1 MD5="" - check $r "cat $file" "cat" + check $seed $r "cat $file" "cat" # don't do grep, it adds a newline at EOF! -# check $r "grep -- -a \\'\\' $file" "grep -a" - check $r "sed n $file" "sed n" - check $r "dd bs=1 if=$file" "dd(bs=1)" - check $r "dd bs=1024 if=$file" "dd(bs=1024)" - check $r "dd bs=1111 if=$file" "dd(bs=1111)" - check $r "dd bs=65536 if=$file" "dd(bs=65536)" +# check $seed $r "grep -- -a \\'\\' $file" "grep -a" + check $seed $r "sed n $file" "sed n" + check $seed $r "dd bs=65536 if=$file" "dd(bs=65536)" + check $seed $r "dd bs=1111 if=$file" "dd(bs=1111)" + check $seed $r "dd bs=1024 if=$file" "dd(bs=1024)" + check $seed $r "dd bs=1 if=$file" "dd(bs=1)" if [ "$OK" != 1 ]; then echo "*** FAILED ***" FAILED=$(($FAILED + 1)) @@ -49,5 +75,6 @@ if [ "$FAILED" != 0 ]; then exit 1 fi echo "All $TESTED tests OK." +cleanup exit 0