From c202416eef5a01c95df9e2cd6cb8e7a8e31c7048 Mon Sep 17 00:00:00 2001 From: Christian Babeux Date: Thu, 21 Feb 2013 15:14:48 -0500 Subject: [PATCH] Tests: Add the runner.sh tests runner utility 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 --- tests/utils/runner.sh | 48 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 tests/utils/runner.sh diff --git a/tests/utils/runner.sh b/tests/utils/runner.sh new file mode 100644 index 000000000..8f4932a76 --- /dev/null +++ b/tests/utils/runner.sh @@ -0,0 +1,48 @@ +#!/bin/bash +# +# Copyright (C) 2013 - Christian Babeux +# +# 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 +} -- 2.34.1