#!/bin/sh function description { echo "# DESCRIPTION: $1" } # $1 is the number of total tests function plan { TESTS=$1; FAILED=0; CUR_TEST=0 echo "1..$TESTS" } function conclude { PERC=$(echo "scale=2;100 * $FAILED / $TESTS" | bc) echo "# CONCLUSION: ($PERC%) $FAILED out of $TESTS tests failed" if [ $TESTS -ne $CUR_TEST ]; then echo -e "# expected $TESTS, but got $CUR_TEST tests" fi if [ $FAILED -ne 0 ]; then exit 1 fi } # $1 is the value to be tested # $2 description function ok { CUR_TEST=$((CUR_TEST + 1)) if [ $1 -eq 0 ]; then echo "ok $CUR_TEST - $2" else echo "not ok $CUR_TEST - $2" echo -e " returned '$1'" FAILED=$((FAILED + 1)) fi } # $1 is the expected value # $2 is the actual value # $3 description function is { CUR_TEST=$((CUR_TEST + 1)) if [ "$1" = "$2" ]; then echo "ok $CUR_TEST - $3" else echo "not ok $CUR_TEST - $3" echo -e " exptected '$2', but got '$1'" FAILED=$((FAILED + 1)) fi }