dorne/scripts/test

42 lines
695 B
Bash
Executable file

#!/usr/bin/env bash
USAGE='test program [[run]-[valgrind]] ...'
if [[ "$1" =~ help ]]; then
echo "$USAGE"
exit 0
fi
# === ARGPARSE
MODE=
REBUILD=true
VALGRIND=false
TARGET=all
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 [[ "$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
# === MAIN
if [[ "$REBUILD" == true ]]; then
make clean $TARGET
fi
LD_LIBRARY_PATH=./lib $PROXY "$PROGRAM" $@