From 5e7519fa84baa9a195b27fdaccbc71b07dbab5d8 Mon Sep 17 00:00:00 2001 From: Neil Brown Date: Thu, 4 Aug 2005 04:56:22 +0000 Subject: Add test suite and release Signed-off-by: Neil Brown --- test | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 test (limited to 'test') diff --git a/test b/test new file mode 100644 index 0000000..ea1851c --- /dev/null +++ b/test @@ -0,0 +1,66 @@ +#!/bin/sh +# +# run test suite for mdadm +user=`id -un` +if [ " $user" != " root" ] +then echo >&2 "test: testing can only be done as 'root'." + exit 1; +fi + +prefix='[0-9][0-9]' +if [ -n "$1" ] +then prefix=$1 +fi + +dir=`pwd` +mdadm=$dir/mdadm +export mdadm +if [ \! -x $mdadm ] +then + echo >&2 "test: $mdadm isn't usable." +fi + +export check="sh $dir/tests/check" + +# assume md0, md1, md2 exist in /dev +export md0=/dev/md0 md1=/dev/md1 md2=/dev/md2 + +# We test mdadm on loop-back block devices. +# dir for storing files should be settable by command line maybe +targetdir=/tmp +export targetdir +size=20000 +mdsize0=19904 +mdsize1=19992 +export size mdsize0 mdsize1 + +cleanup() { + $mdadm -Ss + for d in 0 1 2 3 4 5 6 7 + do losetup -d /dev/loop$d ; # rm -f $targetdir/mdtest$d + done +} + +trap cleanup 0 1 2 3 15 + +devlist= +for d in 0 1 2 3 4 5 6 7 +do + [ -f $targetdir/mdtest$d ] || dd if=/dev/zero of=$targetdir/mdtest$d count=$size bs=1K > /dev/null 2>&1 + losetup /dev/loop$d $targetdir/mdtest$d + export dev$d=/dev/loop$d + eval devlist=\"\$devlist \$dev$d\" +done +export devlist + + +for script in tests/$prefix*[^~] +do + if sh -x $script > $targetdir/log 2>&1 + then echo "$script succeeded" + else cat $targetdir/log + echo "$script failed" + exit 1 + fi +done +exit 0 -- cgit