#!/bin/sh set -e set -u TYTEST="../build/src/bin/tytest" RESULTS="tests.results" TESTDIR="." VERBOSE=0 DEBUG=0 GENRESULTS=0 EXIT_ON_FAILURE=0 NB_TESTS=0 OK_TESTS=0 FAILED_TESTS=0 die() { echo "$*" 1>&2 exit 1 } ESC="\033" GREEN="${ESC}[32m" BOLD_RED="${ESC}[31;1m" RESET_COLOR="${ESC}[0m" ok() { TEST=$1 OK_TESTS=$((OK_TESTS + 1)) if [ $VERBOSE -ne 0 ]; then printf "${GREEN}✔${RESET_COLOR}\n" fi } failed() { TEST=$1 FAILED_TESTS=$((FAILED_TESTS + 1)) if [ $VERBOSE -ne 0 ]; then printf "${BOLD_RED}✘${RESET_COLOR}\n" fi if [ $EXIT_ON_FAILURE -ne 0 ]; then exit 1 fi } summary() { if [ $VERBOSE -ne 0 ]; then if [ $FAILED_TESTS -ne 0 ]; then printf "$BOLD_RED=== $OK_TESTS/$NB_TESTS tests passed, $FAILED_TESTS tests failed ===$RESET_COLOR\n" else printf "$GREEN=== $OK_TESTS/$NB_TESTS tests passed ===$RESET_COLOR\n" fi fi if [ $FAILED_TESTS -ne 0 ]; then exit 1 fi } show_help() { cat <&2 ;; esac done if [ ! -x "$TYTEST" ]; then die "Invalid tytest binary file: $TYTEST" fi if [ ! -r "$RESULTS" ]; then die "Invalid results file: $RESULTS" fi if [ ! -d "$TESTDIR" ]; then die "Invalid test directory: $TESTDIR" fi if [ $GENRESULTS -ne 0 ]; then DEBUG=0 VERBOSE=0 fi if [ $DEBUG -ne 0 ]; then cat <