From a04cc6a6e54ab659b8f9c290831cb2895e91de1e Mon Sep 17 00:00:00 2001 From: Emile Clark-Boman Date: Thu, 11 Sep 2025 17:36:10 +1000 Subject: [PATCH] generalise test script --- scripts/test | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/scripts/test b/scripts/test index ed3dcba..6da6b71 100755 --- a/scripts/test +++ b/scripts/test @@ -1,5 +1,5 @@ #!/usr/bin/env bash -USAGE='test [[run]-[valgrind]] ...' +USAGE='test program [[run]-[valgrind]] ...' if [[ "$1" =~ help ]]; then echo "$USAGE" exit 0 @@ -10,17 +10,27 @@ MODE= REBUILD=true VALGRIND=false TARGET=all -if [[ "$1" =~ run.* ]]; then - MODE="$1" +PROGRAM="$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 fi -if [[ "$1" =~ .*valgrind ]]; then - MODE="$1" +if [[ "$MODE_ARG" =~ .*valgrind ]]; then + MODE="$MODE_ARG" VALGRIND=true PROXY='valgrind -s --leak-check=full --show-leak-kinds=all' TARGET=debug fi + if [[ -n "$MODE" ]]; then shift fi @@ -29,4 +39,4 @@ fi if [[ "$REBUILD" == true ]]; then make clean $TARGET fi -LD_LIBRARY_PATH=./lib $PROXY ./cursed $@ +LD_LIBRARY_PATH=./lib $PROXY "$PROGRAM" $@