generalise test script

This commit is contained in:
Emile Clark-Boman 2025-09-11 17:36:10 +10:00
parent 2db9e5d141
commit a04cc6a6e5

View file

@ -1,5 +1,5 @@
#!/usr/bin/env bash #!/usr/bin/env bash
USAGE='test [[run]-[valgrind]] ...' USAGE='test program [[run]-[valgrind]] ...'
if [[ "$1" =~ help ]]; then if [[ "$1" =~ help ]]; then
echo "$USAGE" echo "$USAGE"
exit 0 exit 0
@ -10,17 +10,27 @@ MODE=
REBUILD=true REBUILD=true
VALGRIND=false VALGRIND=false
TARGET=all TARGET=all
if [[ "$1" =~ run.* ]]; then PROGRAM="$1"
MODE="$1" MODE_ARG="$2"
if [[ ! -x "$PROGRAM" ]]; then
echo "[!] Invalid program: \"$PROGRAM\""
echo "$USAGE"
exit 1
fi
if [[ "$MODE_ARG" =~ run.* ]]; then
MODE="$MODE_ARG"
REBUILD=false REBUILD=false
fi fi
if [[ "$1" =~ .*valgrind ]]; then if [[ "$MODE_ARG" =~ .*valgrind ]]; then
MODE="$1" MODE="$MODE_ARG"
VALGRIND=true VALGRIND=true
PROXY='valgrind -s --leak-check=full --show-leak-kinds=all' PROXY='valgrind -s --leak-check=full --show-leak-kinds=all'
TARGET=debug TARGET=debug
fi fi
if [[ -n "$MODE" ]]; then if [[ -n "$MODE" ]]; then
shift shift
fi fi
@ -29,4 +39,4 @@ fi
if [[ "$REBUILD" == true ]]; then if [[ "$REBUILD" == true ]]; then
make clean $TARGET make clean $TARGET
fi fi
LD_LIBRARY_PATH=./lib $PROXY ./cursed $@ LD_LIBRARY_PATH=./lib $PROXY "$PROGRAM" $@