dorne/scripts/test

45 lines
741 B
Text
Raw Normal View History

2025-09-09 11:20:22 +10:00
#!/usr/bin/env bash
2025-09-11 17:36:10 +10:00
USAGE='test program [[run]-[valgrind]] ...'
2025-09-09 11:20:22 +10:00
if [[ "$1" =~ help ]]; then
echo "$USAGE"
exit 0
fi
# === ARGPARSE
MODE=
REBUILD=true
VALGRIND=false
TARGET=debug
2025-09-11 17:36:10 +10:00
PROGRAM="$1"
MODE_ARG="$2"
if [[ "$MODE_ARG" =~ run.* ]]; then
MODE="$MODE_ARG"
2025-09-09 11:20:22 +10:00
REBUILD=false
fi
2025-09-11 17:36:10 +10:00
if [[ "$MODE_ARG" =~ .*valgrind ]]; then
MODE="$MODE_ARG"
2025-09-09 11:20:22 +10:00
VALGRIND=true
PROXY='valgrind -s --log-file=logs/valgrind.log --leak-check=full --show-leak-kinds=all'
2025-09-09 11:20:22 +10:00
TARGET=debug
fi
2025-09-11 17:36:10 +10:00
2025-09-09 11:20:22 +10:00
if [[ -n "$MODE" ]]; then
shift
fi
# === MAIN
if [[ "$REBUILD" == true ]]; then
make clean $TARGET
fi
if [[ ! -x "$PROGRAM" ]]; then
echo "[!] Invalid program: \"$PROGRAM\""
echo "$USAGE"
exit 1
fi
mkdir -p logs
2025-09-11 17:36:10 +10:00
LD_LIBRARY_PATH=./lib $PROXY "$PROGRAM" $@