]>
Commit | Line | Data |
---|---|---|
5e7519fa NB |
1 | #!/bin/sh |
2 | # | |
3 | # run test suite for mdadm | |
4 | user=`id -un` | |
5 | if [ " $user" != " root" ] | |
6 | then echo >&2 "test: testing can only be done as 'root'." | |
7 | exit 1; | |
8 | fi | |
9 | ||
10 | prefix='[0-9][0-9]' | |
11 | if [ -n "$1" ] | |
12 | then prefix=$1 | |
13 | fi | |
14 | ||
15 | dir=`pwd` | |
16 | mdadm=$dir/mdadm | |
17 | export mdadm | |
18 | if [ \! -x $mdadm ] | |
19 | then | |
20 | echo >&2 "test: $mdadm isn't usable." | |
21 | fi | |
22 | ||
23 | export check="sh $dir/tests/check" | |
24 | ||
25 | # assume md0, md1, md2 exist in /dev | |
26 | export 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 | |
30 | targetdir=/tmp | |
586ed405 | 31 | export targetdir dir |
5e7519fa NB |
32 | size=20000 |
33 | mdsize0=19904 | |
34 | mdsize1=19992 | |
35 | export size mdsize0 mdsize1 | |
36 | ||
37 | cleanup() { | |
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 | ||
44 | trap cleanup 0 1 2 3 15 | |
45 | ||
46 | devlist= | |
47 | for d in 0 1 2 3 4 5 6 7 | |
48 | do | |
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\" | |
53 | done | |
54 | export devlist | |
55 | ||
56 | ||
57 | for script in tests/$prefix*[^~] | |
58 | do | |
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 | |
65 | done | |
66 | exit 0 |