scripts: Test suite runner
authorKieran Bingham <kieran.bingham@ideasonboard.com>
Thu, 1 Dec 2016 21:31:45 +0000 (21:31 +0000)
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Mon, 13 Feb 2017 18:43:48 +0000 (20:43 +0200)
Provide a utility script to execute all vsp unit tests, as well
as the option to execute multiple iterations of the suite.

Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
scripts/vsp-tests.sh [new file with mode: 0755]

diff --git a/scripts/vsp-tests.sh b/scripts/vsp-tests.sh
new file mode 100755 (executable)
index 0000000..6a10f70
--- /dev/null
@@ -0,0 +1,46 @@
+#!/bin/sh
+
+##
+## VSP Tests runner
+##
+## Automatically execute all vsp-unit tests
+## Move test failure results to a specific folder for
+## the running kernel version
+##
+## An argument can be provided to specify the number of
+## iterations to perform
+##
+## usage:
+##  ./vsp-tests.sh <n>
+##
+##   n: Number of iterations to execute test suite
+##
+
+KERNEL_VERSION=`uname -r`
+
+run_test() {
+       local script=$1
+       local iteration=$2
+
+       echo "- $script"
+       ./$script
+
+       if [ $(ls *.bin 2>/dev/null | wc -l) != 0 ] ; then
+               local dir=$KERNEL_VERSION/test-$script/$iteration/
+
+               mkdir -p $dir
+               mv *.bin $dir
+       fi
+}
+
+run_suite() {
+       echo "--- Test loop $1 ---"
+
+       for test in vsp-unit-test*.sh; do
+               run_test $test $1
+       done;
+}
+
+for loop in `seq 1 1 $1`; do
+       run_suite $loop
+done;