Files
Cody Boone Ferguson 56f53ee0fc Rename 2012/zeitak/test.sh try.sh
This is because it was used in the same way as the try scripts and it
matches better other entries and looks better with the manifest (makes
it easier to see what it is for).

Rebuilt manifest, generated .entry.json and index.html files.

The thanks file was updated accordingly.
2024-06-01 08:05:02 -07:00

69 lines
1.3 KiB
Bash
Executable File

#!/usr/bin/env bash
#
# try.sh - demonstrate IOCCC entry 2012/zeitak
#
# make sure CC is set so that when we do make CC="$CC" it isn't empty. Doing it
# this way allows us to have the user specify a different compiler in an easy
# way.
if [[ -z "$CC" ]]; then
CC="cc"
fi
make CC="$CC" all >/dev/null || exit 1
# clear screen after compilation so that only the entry is shown
clear
# assume no error: set ERROR to 0
ERROR=0
zeitak()
{
if [[ "$#" != 2 ]]; then
echo "$0: zeitak() expects two args, got: $#" 1>&2
return
fi
read -r -n 1 -p "Press any key to show $1 (space = next page, q = quit): "
echo 1>&2
less -rEXFK "$1"
read -r -n 1 -p "Press any key to test $1 for nesting errors: "
echo 1>&2
./zeitak < "$1"
EXIT_CODE="$?"
if [[ "$EXIT_CODE" -ne "$2" ]]; then
echo "Error: did not get exit code $2: $EXIT_CODE" 1>&2
ERROR=1
fi
echo 1>&2
}
zeitak zeitak.c 3
zeitak anonymous.c 3
zeitak anonymous.alt.c 3
zeitak incorrect.brace.c 10
zeitak incorrect.bracket.c 10
zeitak incorrect.paren.c 10
zeitak incorrect.quote-esc.c 10
zeitak incorrect.3.quotes.c 10
zeitak incorrect.single.quote.c 10
zeitak incorrect.1.quote.c 10
zeitak incorrect.txt 10
zeitak incorrect.java 10
zeitak correct.java 3
exit "$ERROR"