]> git.ipfire.org Git - thirdparty/mdadm.git/blame - test
Add test suite and release
[thirdparty/mdadm.git] / test
CommitLineData
5e7519fa
NB
1#!/bin/sh
2#
3# run test suite for mdadm
4user=`id -un`
5if [ " $user" != " root" ]
6then echo >&2 "test: testing can only be done as 'root'."
7 exit 1;
8fi
9
10prefix='[0-9][0-9]'
11if [ -n "$1" ]
12then prefix=$1
13fi
14
15dir=`pwd`
16mdadm=$dir/mdadm
17export mdadm
18if [ \! -x $mdadm ]
19then
20 echo >&2 "test: $mdadm isn't usable."
21fi
22
23export check="sh $dir/tests/check"
24
25# assume md0, md1, md2 exist in /dev
26export md0=/dev/md0 md1=/dev/md1 md2=/dev/md2
27
28# We test mdadm on loop-back block devices.
29# dir for storing files should be settable by command line maybe
30targetdir=/tmp
31export targetdir
32size=20000
33mdsize0=19904
34mdsize1=19992
35export size mdsize0 mdsize1
36
37cleanup() {
38 $mdadm -Ss
39 for d in 0 1 2 3 4 5 6 7
40 do losetup -d /dev/loop$d ; # rm -f $targetdir/mdtest$d
41 done
42}
43
44trap cleanup 0 1 2 3 15
45
46devlist=
47for d in 0 1 2 3 4 5 6 7
48do
49 [ -f $targetdir/mdtest$d ] || dd if=/dev/zero of=$targetdir/mdtest$d count=$size bs=1K > /dev/null 2>&1
50 losetup /dev/loop$d $targetdir/mdtest$d
51 export dev$d=/dev/loop$d
52 eval devlist=\"\$devlist \$dev$d\"
53done
54export devlist
55
56
57for script in tests/$prefix*[^~]
58do
59 if sh -x $script > $targetdir/log 2>&1
60 then echo "$script succeeded"
61 else cat $targetdir/log
62 echo "$script failed"
63 exit 1
64 fi
65done
66exit 0