summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorNeil Brown <neilb@suse.de>2005-08-04 04:56:22 +0000
committerNeil Brown <neilb@suse.de>2005-08-04 04:56:22 +0000
commit5e7519fa84baa9a195b27fdaccbc71b07dbab5d8 (patch)
tree1e419e2dc46c2439c842536e10937b1fc99b8718 /test
parentf277ce367125882ea809f981172b8d5c0cc4d5c7 (diff)
downloadmdadm-5e7519fa84baa9a195b27fdaccbc71b07dbab5d8.tar.gz
mdadm-5e7519fa84baa9a195b27fdaccbc71b07dbab5d8.tar.xz
mdadm-5e7519fa84baa9a195b27fdaccbc71b07dbab5d8.zip
Add test suite and release
Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Diffstat (limited to 'test')
-rw-r--r--test66
1 files changed, 66 insertions, 0 deletions
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