mirror of
https://github.com/chubin/cheat.sh.git
synced 2024-11-26 22:45:38 +03:00
40 lines
942 B
Bash
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"
|
|
|
|
|