diff options
Diffstat (limited to 'test-gen.lib')
-rw-r--r-- | test-gen.lib | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/test-gen.lib b/test-gen.lib new file mode 100644 index 0000000..c6e73b9 --- /dev/null +++ b/test-gen.lib @@ -0,0 +1,56 @@ +#!/bin/sh + +# These routines contain the filesystem generation code. +# This code is sourced by the other scripts so that digest +# generation is consistent. + +# dgen - Exercises the -d directory option of genext2fs +# Creates an image with a file of given size +# Usage: dgen file-size number-of-blocks +dgen () { + size=$1; blocks=$2 + rm -rf test + mkdir -p test + cd test + if [ x$size = x0 ]; then + > file.$1 + else + dd if=/dev/zero of=file.$1 bs=$size count=1 2>/dev/null + fi + chmod 777 file.$1 + TZ=UTC-11 touch -t 200502070321.43 file.$1 . + cd .. + ./genext2fs -N 17 -b $blocks -d test -f -q ext2.img +} + +# fgen - Exercises the -f spec-file option of genext2fs +# Creates an image with the devices mentioned in the given spec file +# Usage: fgen spec-file number-of-blocks +fgen () { + fname=$1; blocks=$2; + mkdir -p test + cp $fname test + TZ=UTC-11 touch -t 200502070321.43 test/$fname + ./genext2fs -N 92 -b $blocks -D test/$fname -f ext2.img +} + +# gen_cleanup - Remove the files generated by the above functions +# Usage: gen_cleanup +gen_cleanup () { + rm -rf ext2.img test +} + +# calc_digest - Return the MD5 digest of the test image +# Usage: calc_digest +calc_digest () { + digest=`md5sum ext2.img 2>/dev/null | cut -f 1 -d " "` + if [ x$digest != x ] ; then + echo $digest + else + digest=`md5 ext2.img 2>/dev/null | cut -f 4 -d " "` + echo $digest + fi +} + +LC_ALL=C +export LC_ALL |