Rombobjörn

summaryrefslogtreecommitdiff
path: root/testsuite/run_tests
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/run_tests')
-rwxr-xr-xtestsuite/run_tests58
1 files changed, 58 insertions, 0 deletions
diff --git a/testsuite/run_tests b/testsuite/run_tests
new file mode 100755
index 0000000..dfdfe75
--- /dev/null
+++ b/testsuite/run_tests
@@ -0,0 +1,58 @@
+#!/bin/sh
+
+# Comfignat's testsuite
+# Copyright 2013 B. Persson, Bjorn@Rombobeorn.se
+#
+# This material is provided as is, with absolutely no warranty expressed
+# or implied. Any use is at your own risk.
+#
+# Permission is hereby granted to use or copy this program
+# for any purpose, provided the above notices are retained on all copies.
+# Permission to modify the code and to distribute modified code is granted,
+# provided the above notices are retained, and a notice that the code was
+# modified is included with the above copyright notice.
+
+
+# It is hoped that this program will work in any Posix-compliant shell.
+
+set -e
+
+outer_srcdir="$1"
+outer_builddir="$2"
+
+passed=0
+failed=0
+
+Comfignat_overriding_absolute_builddir=
+Comfignat_overriding_absolute_objdir=
+Comfignat_overriding_absolute_stagedir=
+
+rm -Rf "${outer_builddir}"/testruns
+
+for source_directory in "${outer_srcdir}"/testsuite/sources/* ; do
+ for location_file in "${outer_srcdir}"/testsuite/locations/* ; do
+ for input_script in "${outer_srcdir}"/testsuite/inputs/* ; do
+ test_name=$(basename "${source_directory}")+$(basename "${location_file}")+$(basename "${input_script}")
+ testrundir="${outer_builddir}"/testruns/"${test_name}"
+ mkdir -p "${testrundir}"
+ cd "${testrundir}"
+ . "${location_file}"
+ mkdir -p "${srcdir}" "${builddir}"
+ cp -RHp "${source_directory}"/* "${srcdir}"
+ cp -p "${outer_srcdir}"/comfignat.* "${srcdir}"
+ export srcdir builddir relative_builddir
+ if sh -e "${input_script}" >output 2>&1 ; then
+ verdict=PASSED
+ passed=$((passed + 1))
+ else
+ verdict=FAILED
+ failed=$((failed + 1))
+ fi
+ echo "${test_name}: ${verdict}"
+ done
+ done
+done
+
+echo
+echo "passed: ${passed}, failed: ${failed}"
+exit ${failed}