From 7fb13f2439394b807fee160fbdbf7c20f89ca18b Mon Sep 17 00:00:00 2001 From: Abdelrahman Date: Sun, 2 Jun 2024 23:35:34 +0100 Subject: [PATCH] Update compile script to run tests --- compile | 33 ++++++++++++++++++++++++++++++--- 1 file changed, 30 insertions(+), 3 deletions(-) diff --git a/compile b/compile index a907a33..9a557f4 100755 --- a/compile +++ b/compile @@ -19,11 +19,18 @@ CC=clang CFLAGS="-Wall -Werror -pedantic " LIBFLAGS="-fPIC -shared" INCLUDE="\ - $(find src -type d | xargs -I{} echo -n "-I{} ") \ + $(find src -type d | xargs -I{} echo -n "-I{} ") \ +" +TEST_INCLUDE="\ + $(find tests -type d | xargs -I{} echo -n "-I{} ") \ " SRC="\ - $(find src -type f -name "*.c" | xargs -I{} echo -n "{} ") \ + $(find src -type f -name "*.c" | xargs -I{} echo -n "{} ") \ " +TEST_SRC="\ + $(find tests -type f -name "*.c" | xargs -I{} echo -n "{} ") \ +" + if [[ $BUILD_TYPE == "release" ]]; then CFLAGS+="-O3" else @@ -31,9 +38,29 @@ else fi OUT="libwapp.so" +TEST_OUT="./wapptest" +# Compile tests +if [[ $(echo $TEST_SRC | xargs) != "" ]]; then + (set -x ; $CC $CFLAGS $INCLUDE $TEST_INCLUDE $SRC $TEST_SRC -o $TEST_OUT) +fi + +# Run tests and exit on failure +if [[ -f $TEST_OUT ]]; then + $TEST_OUT + STATUS="$?" + + rm $TEST_OUT + + if [[ $STATUS != "0" ]]; then + exit 1 + fi +fi + +# Compile library (set -x ; $CC $CFLAGS $LIBFLAGS $INCLUDE $SRC -o $OUT) +# Compile test.c if it exists if [[ -f ./test.c ]]; then - (set -x ; $CC $CFLAGS $INCLUDE $SRC ./test.c -o test) + (set -x ; $CC $CFLAGS $INCLUDE $SRC ./test.c -o test) fi