We'll be using it from scripts/mkstandalone later. Signed-off-by: Radim Krčmář <rkrcmar@xxxxxxxxxx> --- v2: new run_tests.sh | 53 +---------------------------------------------------- scripts/run.bash | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+), 52 deletions(-) create mode 100644 scripts/run.bash diff --git a/run_tests.sh b/run_tests.sh index fad22a935b00..58949e39c38c 100755 --- a/run_tests.sh +++ b/run_tests.sh @@ -6,63 +6,12 @@ if [ ! -f config.mak ]; then fi source config.mak source scripts/functions.bash +source scripts/run.bash config=$TEST_DIR/unittests.cfg qemu=${QEMU:-qemu-system-$ARCH} verbose=0 -function run() -{ - local testname="$1" - local groups="$2" - local smp="$3" - local kernel="$4" - local opts="$5" - local arch="$6" - local check="$7" - local accel="$8" - - if [ -z "$testname" ]; then - return - fi - - if [ -n "$only_group" ] && ! grep -q "$only_group" <<<$groups; then - return - fi - - if [ -n "$arch" ] && [ "$arch" != "$ARCH" ]; then - echo "skip $1 ($arch only)" - return - fi - - # check a file for a particular value before running a test - # the check line can contain multiple files to check separated by a space - # but each check parameter needs to be of the form <path>=<value> - for check_param in ${check[@]}; do - path=${check_param%%=*} - value=${check_param#*=} - if [ "$path" ] && [ "$(cat $path)" != "$value" ]; then - echo "skip $1 ($path not equal to $value)" - return - fi - done - - cmdline="TESTNAME=$testname ACCEL=$accel ./$TEST_DIR-run $kernel -smp $smp $opts" - if [ $verbose != 0 ]; then - echo $cmdline - fi - - # extra_params in the config file may contain backticks that need to be - # expanded, so use eval to start qemu - eval $cmdline >> test.log - - if [ $? -le 1 ]; then - echo -e "\e[32mPASS\e[0m $1" - else - echo -e "\e[31mFAIL\e[0m $1" - fi -} - function usage() { cat <<EOF diff --git a/scripts/run.bash b/scripts/run.bash new file mode 100644 index 000000000000..0c5a2569d80e --- /dev/null +++ b/scripts/run.bash @@ -0,0 +1,51 @@ +function run() +{ + local testname="$1" + local groups="$2" + local smp="$3" + local kernel="$4" + local opts="$5" + local arch="$6" + local check="$7" + local accel="$8" + + if [ -z "$testname" ]; then + return + fi + + if [ -n "$only_group" ] && ! grep -q "$only_group" <<<$groups; then + return + fi + + if [ -n "$arch" ] && [ "$arch" != "$ARCH" ]; then + echo "skip $1 ($arch only)" + return + fi + + # check a file for a particular value before running a test + # the check line can contain multiple files to check separated by a space + # but each check parameter needs to be of the form <path>=<value> + for check_param in ${check[@]}; do + path=${check_param%%=*} + value=${check_param#*=} + if [ "$path" ] && [ "$(cat $path)" != "$value" ]; then + echo "skip $1 ($path not equal to $value)" + return + fi + done + + cmdline="TESTNAME=$testname ACCEL=$accel ./$TEST_DIR-run $kernel -smp $smp $opts" + if [ $verbose != 0 ]; then + echo $cmdline + fi + + # extra_params in the config file may contain backticks that need to be + # expanded, so use eval to start qemu + eval $cmdline >> test.log + + if [ $? -le 1 ]; then + echo -e "\e[32mPASS\e[0m $1" + else + echo -e "\e[31mFAIL\e[0m $1" + fi +} -- 2.6.4 -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html