From 7d98645fe8efcb446079a8a3cd8721ef5e27ee79 Mon Sep 17 00:00:00 2001 From: Clifford Wolf Date: Wed, 30 Jul 2014 19:21:52 +0200 Subject: Added "make -j{N}" support to "make test" --- tests/tools/autotest.mk | 8 ++++++++ tests/tools/autotest.sh | 21 +++++++++++++++------ 2 files changed, 23 insertions(+), 6 deletions(-) create mode 100644 tests/tools/autotest.mk (limited to 'tests/tools') diff --git a/tests/tools/autotest.mk b/tests/tools/autotest.mk new file mode 100644 index 00000000..f65002ce --- /dev/null +++ b/tests/tools/autotest.mk @@ -0,0 +1,8 @@ + +EXTRA_FLAGS= + +$(MAKECMDGOALS): + @$(basename $(MAKEFILE_LIST)).sh -G -j $(EXTRA_FLAGS) $@ + +.PHONY: $(MAKECMDGOALS) + diff --git a/tests/tools/autotest.sh b/tests/tools/autotest.sh index 1130bbb7..781dc167 100755 --- a/tests/tools/autotest.sh +++ b/tests/tools/autotest.sh @@ -6,6 +6,7 @@ use_xsim=false use_modelsim=false verbose=false keeprunning=false +makejmode=false frontend="verilog" backend_opts="-noattr -noexpr" scriptfiles="" @@ -17,7 +18,7 @@ if [ ! -f $toolsdir/cmp_tbdata -o $toolsdir/cmp_tbdata.c -nt $toolsdir/cmp_tbdat ( set -ex; gcc -Wall -o $toolsdir/cmp_tbdata $toolsdir/cmp_tbdata.c; ) || exit 1 fi -while getopts xmGl:wkvrf:s:p: opt; do +while getopts xmGl:wkjvrf:s:p: opt; do case "$opt" in x) use_xsim=true ;; @@ -31,6 +32,8 @@ while getopts xmGl:wkvrf:s:p: opt; do genvcd=true ;; k) keeprunning=true ;; + j) + makejmode=true ;; v) verbose=true ;; r) @@ -43,7 +46,7 @@ while getopts xmGl:wkvrf:s:p: opt; do p) scriptopt="$OPTARG" ;; *) - echo "Usage: $0 [-x|-m] [-w] [-k] [-v] [-r] [-l libs] [-f frontend] [-s script] [-p cmdstring] verilog-files\n" >&2 + echo "Usage: $0 [-x|-m] [-w] [-k] [-j] [-v] [-r] [-l libs] [-f frontend] [-s script] [-p cmdstring] verilog-files\n" >&2 exit 1 esac done @@ -83,7 +86,13 @@ do exit 1 fi [[ "$bn" == *_tb ]] && continue - echo -n "Test: $bn " + + if $makejmode; then + status_prefix="Test: $bn " + else + status_prefix="" + echo -n "Test: $bn " + fi rm -f ${bn}.{err,log,sikp} mkdir -p ${bn}.out @@ -144,12 +153,12 @@ do if [ -f ${bn}.log ]; then mv ${bn}.err ${bn}.log - echo "-> ok" + echo "${status_prefix}-> ok" elif [ -f ${bn}.skip ]; then mv ${bn}.err ${bn}.skip - echo "-> skip" + echo "${status_prefix}-> skip" else - echo "-> ERROR!" + echo "${status_prefix}-> ERROR!" if $warn_iverilog_git; then echo "Note: Make sure that 'iverilog' is an up-to-date git checkout of icarus verilog." fi -- cgit v1.2.3