Mercurial > projects > pwm
view tests/run-tests.sh @ 42:fb995e5d54e9 version-1
Release version 1
author | Guido Berhoerster <guido+pwm@berhoerster.name> |
---|---|
date | Tue, 20 Aug 2019 21:26:55 +0200 |
parents | f9501248b6bd |
children |
line wrap: on
line source
#!/bin/sh # # Copyright (C) 2019 Guido Berhoerster <guido+pwm@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 PWM="${PWM:-pwm}" export LC_ALL=C l="$(locale -a | sort | grep -E '^(C|en_US)\.([uU][tT][fF]-?8)$' | head -1)" if [ -z "$l" ]; then printf 'no suitable UTF-8 locale found\n' >&2 exit 1 fi export LC_ALL="$l" 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}" .sh).log" export TEST_NAME="$(basename "${t}" .sh)" [ -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 ]