Tests: Add the runner.sh tests runner utility
authorChristian Babeux <christian.babeux@efficios.com>
Thu, 21 Feb 2013 20:14:48 +0000 (15:14 -0500)
committerChristian Babeux <christian.babeux@efficios.com>
Fri, 22 Feb 2013 18:00:22 +0000 (13:00 -0500)
This script contains the run_tests function to ease the run of a testsuite.

Usage example:

source $TESTDIR/utils/runner.sh

tests=( some_test
        some_other_test )

opts=("$@")
run_tests tests[@] opts[@]

Signed-off-by: Christian Babeux <christian.babeux@efficios.com>
tests/utils/runner.sh [new file with mode: 0644]

diff --git a/tests/utils/runner.sh b/tests/utils/runner.sh
new file mode 100644 (file)
index 0000000..8f4932a
--- /dev/null
@@ -0,0 +1,48 @@
+#!/bin/bash
+#
+# Copyright (C) 2013 - Christian Babeux <christian.babeux@efficios.com>
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; only version 2
+# of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+#
+
+function run_tests
+{
+       declare -a tests=("${!1}")
+       declare -a tests_opts=("${!2}")
+
+       gentap=0
+
+       for test_opt in ${tests_opts[@]};
+       do
+           case "$test_opt" in
+               --generate-tap-files) gentap=1 ;;
+               *) ;;
+           esac
+       done
+
+       for bin in ${tests[@]};
+       do
+               if [ ! -e $bin ]; then
+                       echo -e "$bin not found, skipping."
+                       continue
+               fi
+
+               if [ "$gentap" -eq 1 ]; then
+                       ./$bin > ${bin}.tap 2>&1
+               else
+                       ./$bin
+               fi
+       done
+}
This page took 0.027533 seconds and 5 git commands to generate.