diff options
| author | Björn Persson <Bjorn@Rombobjörn.se> | 2013-12-16 17:27:40 +0100 | 
|---|---|---|
| committer | Björn Persson <Bjorn@Rombobjörn.se> | 2013-12-16 17:27:40 +0100 | 
| commit | 940fef353e6551f721651db79cb135219191ad9e (patch) | |
| tree | 0d306bc8c671dd6691cbddb587a0bb57f87a1dad /testsuite/run_tests | |
| parent | dc755a6e32254c6d58157a410bf41912b5a16ad0 (diff) | |
the beginning of a testsuite
Diffstat (limited to 'testsuite/run_tests')
| -rwxr-xr-x | testsuite/run_tests | 58 | 
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} |