Mercurial > projects > libpws
diff tests/run-tests.sh @ 4:dfd3ddbdb201
Add tests
author | Guido Berhoerster <guido+libpws@berhoerster.name> |
---|---|
date | Fri, 13 May 2016 14:32:44 +0200 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/run-tests.sh Fri May 13 14:32:44 2016 +0200 @@ -0,0 +1,63 @@ +#!/bin/sh +# +# Copyright (C) 2016 Guido Berhoerster <guido+libpws@berhoerster.name> +# +# Permission is hereby granted, free of charge, to any person obtaining +# a copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to +# permit persons to whom the Software is furnished to do so, subject to +# the following conditions: +# +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# + +export PWSDUMP="${PWSDUMP:-pwsdump}" + +export LC_ALL=C +export TESTS_PATH="$(dirname "$0")" +export TESTS_OUTPUT_PATH="${TESTS_OUTPUT_PATH:-${TESTS_PATH}/output}" + +tests_passed=0 +tests_failed=0 + +mkdir -p "${TESTS_OUTPUT_PATH}" || exit 1 + +for t in "${TESTS_PATH}"/test-*.sh; do + [ -r "${t}" ] || break + + export LOGFILE="${TESTS_OUTPUT_PATH}/$(basename "${t}").log" + + [ -t 1 ] && printf "Running %s" "${t}" + if ${SHELL:-/bin/sh} "$t" >/dev/null 2>"${LOGFILE}"; then + tests_passed=$(( tests_passed + 1 )) + if [ -t 1 ]; then + printf "\rOK " + else + printf "OK %s" "${t}" + fi + else + tests_failed=$(( tests_failed + 1 )) + if [ -t 1 ]; then + printf "\rFAILED " + else + printf "FAILED %s" "${t}" + fi + fi + printf "%s\n" "${t}" +done + +printf -- "-----------\npassed: %3d\nfailed: %3d\ntotal: %3d\n" $tests_passed \ + $tests_failed $(( tests_failed + tests_passed )) + +[ $tests_failed -eq 0 ]