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