Add a make target runtests-parallel which can run tests in parallel. This is very useful to quickly run all the tests locally with $ make -j runtests-parallel Signed-off-by: Dylan Yudaken <dylany@xxxxxx> --- test/Makefile | 10 +++++++++- test/runtests-quiet.sh | 10 ++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100755 test/runtests-quiet.sh diff --git a/test/Makefile b/test/Makefile index cb7e15e..fe35ff9 100644 --- a/test/Makefile +++ b/test/Makefile @@ -185,6 +185,7 @@ all_targets += sq-full-cpp.t test_targets := $(patsubst %.c,%,$(test_srcs)) test_targets := $(patsubst %.cc,%,$(test_targets)) +run_test_targets := $(patsubst %,%.run_test,$(test_targets)) test_targets := $(patsubst %,%.t,$(test_targets)) all_targets += $(test_targets) @@ -229,4 +230,11 @@ runtests: all runtests-loop: all @./runtests-loop.sh $(test_targets) -.PHONY: all install clean runtests runtests-loop +%.run_test: %.t + @./runtests-quiet.sh $< + +runtests-parallel: $(run_test_targets) + @echo "All tests passed" + +.PHONY: all install clean runtests runtests-loop runtests-parallel +.PHONY += $(run_test_targets) diff --git a/test/runtests-quiet.sh b/test/runtests-quiet.sh new file mode 100755 index 0000000..ba9fe2b --- /dev/null +++ b/test/runtests-quiet.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash + +TESTS=("$@") +RESULT_FILE=$(mktemp) +./runtests.sh "${TESTS[@]}" 2>&1 > $RESULT_FILE +RET="$?" +if [ "${RET}" -ne 0 ]; then + cat $RESULT_FILE +fi +rm $RESULT_FILE -- 2.30.2