1
1
mirror of https://github.com/chubin/cheat.sh.git synced 2024-11-26 22:45:38 +03:00
cheat.sh/tests/run-tests.sh
2019-02-16 20:53:18 +01:00

40 lines
942 B
Bash

#!/bin/bash
TMP=$(mktemp /tmp/cht.sh.tests-XXXXXXXXXXXXXX)
TMP2=$(mktemp /tmp/cht.sh.tests-XXXXXXXXXXXXXX)
TMP3=$(mktemp /tmp/cht.sh.tests-XXXXXXXXXXXXXX)
trap 'rm -rf $TMP $TMP2 $TMP3' EXIT
export CHTSH_URL=http://cht.sh:50000
CHTSH_SCRIPT=$(dirname $(dirname $(readlink -f "$0")))/share/cht.sh.txt
i=0
failed=0
{
if [ -z "$1" ]; then
cat -n tests.txt
else
cat -n tests.txt | sed -n "$(echo $* | sed 's/ /p; /g;s/$/p/')"
fi
} > "$TMP3"
while read -r number test_line; do
number=$((number-1))
test_line="${test_line// #.*//}"
if [[ $test_line = "cht.sh "* ]]; then
test_line="${test_line//cht.sh /}"
eval "bash $CHTSH_SCRIPT $test_line" > "$TMP"
else
eval "curl -s $CHTSH_URL/$test_line" > "$TMP"
fi
diff results/"$number" "$TMP" > "$TMP2"
if [ "$?" != 0 ]; then
echo "FAILED: [$number] $test_line"
((failed++))
fi
((i++))
done < "$TMP3"
echo TESTS/OK/FAILED "$i/$[i-failed]/$failed"