xref: /kvm-unit-tests/scripts/common.bash (revision 0601b85c251059810a0a617a60c758a48084279e)
1
2function for_each_unittest()
3{
4	local unittests="$1"
5	local cmd="$2"
6	local testname
7	local smp
8	local kernel
9	local opts
10	local groups
11	local arch
12	local check
13	local accel
14
15	exec {fd}<"$unittests"
16
17	while read -u $fd line; do
18		if [[ "$line" =~ ^\[(.*)\]$ ]]; then
19			"$cmd" "$testname" "$groups" "$smp" "$kernel" "$opts" "$arch" "$check" "$accel"
20			testname=${BASH_REMATCH[1]}
21			smp=1
22			kernel=""
23			opts=""
24			groups=""
25			arch=""
26			check=""
27			accel=""
28		elif [[ $line =~ ^file\ *=\ *(.*)$ ]]; then
29			kernel=$TEST_DIR/${BASH_REMATCH[1]}
30		elif [[ $line =~ ^smp\ *=\ *(.*)$ ]]; then
31			smp=${BASH_REMATCH[1]}
32		elif [[ $line =~ ^extra_params\ *=\ *(.*)$ ]]; then
33			opts=${BASH_REMATCH[1]}
34		elif [[ $line =~ ^groups\ *=\ *(.*)$ ]]; then
35			groups=${BASH_REMATCH[1]}
36		elif [[ $line =~ ^arch\ *=\ *(.*)$ ]]; then
37			arch=${BASH_REMATCH[1]}
38		elif [[ $line =~ ^check\ *=\ *(.*)$ ]]; then
39			check=${BASH_REMATCH[1]}
40		elif [[ $line =~ ^accel\ *=\ *(.*)$ ]]; then
41			accel=${BASH_REMATCH[1]}
42		fi
43	done
44	"$cmd" "$testname" "$groups" "$smp" "$kernel" "$opts" "$arch" "$check" "$accel"
45	exec {fd}<&-
46}
47