[PATCH kvm-unit-tests v2 01/12] run_tests: move run() to scripts/

Radim Krčmář
2015-12-17T17:53:58Z

We'll be using it from scripts/mkstandalone later.

Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
---
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