summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2014-07-30 19:21:52 +0200
committerClifford Wolf <clifford@clifford.at>2014-07-30 19:23:26 +0200
commit7d98645fe8efcb446079a8a3cd8721ef5e27ee79 (patch)
treefe7f6e7e919f693dd784e8bded07531a664ac5b6
parentceecf5b1535cf2e567c144bdbe143c8ba66c69d7 (diff)
Added "make -j{N}" support to "make test"
-rw-r--r--Makefile20
-rwxr-xr-xtests/asicworld/run-test.sh2
-rwxr-xr-xtests/hana/run-test.sh2
-rwxr-xr-xtests/simple/run-test.sh2
-rw-r--r--tests/tools/autotest.mk8
-rwxr-xr-xtests/tools/autotest.sh21
-rwxr-xr-xtests/vloghtb/run-test.sh6
7 files changed, 39 insertions, 22 deletions
diff --git a/Makefile b/Makefile
index 73d44833..4436be3d 100644
--- a/Makefile
+++ b/Makefile
@@ -218,15 +218,15 @@ yosys-abc: abc/abc-$(ABCREV)
$(P) cp abc/abc-$(ABCREV) yosys-abc
test: $(TARGETS) $(EXTRA_TARGETS)
- cd tests/simple && bash run-test.sh
- cd tests/hana && bash run-test.sh
- cd tests/asicworld && bash run-test.sh
- cd tests/realmath && bash run-test.sh
- cd tests/share && bash run-test.sh
- cd tests/techmap && bash run-test.sh
- cd tests/memories && bash run-test.sh
- cd tests/various && bash run-test.sh
- cd tests/sat && bash run-test.sh
+ +cd tests/simple && bash run-test.sh
+ +cd tests/hana && bash run-test.sh
+ +cd tests/asicworld && bash run-test.sh
+ +cd tests/realmath && bash run-test.sh
+ +cd tests/share && bash run-test.sh
+ +cd tests/techmap && bash run-test.sh
+ +cd tests/memories && bash run-test.sh
+ +cd tests/various && bash run-test.sh
+ +cd tests/sat && bash run-test.sh
@echo ""
@echo " Passed \"make test\"."
@echo ""
@@ -240,7 +240,7 @@ vgtest: $(TARGETS) $(EXTRA_TARGETS)
@echo ""
vloghtb: $(TARGETS) $(EXTRA_TARGETS)
- cd tests/vloghtb && bash run-test.sh
+ +cd tests/vloghtb && bash run-test.sh
@echo ""
@echo " Passed \"make vloghtb\"."
@echo ""
diff --git a/tests/asicworld/run-test.sh b/tests/asicworld/run-test.sh
index a204360d..2477181a 100755
--- a/tests/asicworld/run-test.sh
+++ b/tests/asicworld/run-test.sh
@@ -1,2 +1,2 @@
#!/bin/bash
-exec bash ../tools/autotest.sh -G *.v
+exec ${MAKE:-make} -f ../tools/autotest.mk *.v
diff --git a/tests/hana/run-test.sh b/tests/hana/run-test.sh
index 89be6d05..410f9b4d 100755
--- a/tests/hana/run-test.sh
+++ b/tests/hana/run-test.sh
@@ -1,2 +1,2 @@
#!/bin/bash
-exec bash ../tools/autotest.sh -G -l hana_vlib.v test_*.v
+exec ${MAKE:-make} -f ../tools/autotest.mk EXTRA_FLAGS="-l hana_vlib.v" test_*.v
diff --git a/tests/simple/run-test.sh b/tests/simple/run-test.sh
index ec1802cb..6531d51a 100755
--- a/tests/simple/run-test.sh
+++ b/tests/simple/run-test.sh
@@ -6,4 +6,4 @@ if ! which iverilog > /dev/null ; then
exit 1
fi
-exec bash ../tools/autotest.sh -G *.v
+exec ${MAKE:-make} -f ../tools/autotest.mk *.v
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
diff --git a/tests/vloghtb/run-test.sh b/tests/vloghtb/run-test.sh
index b1b205a2..ad99226e 100755
--- a/tests/vloghtb/run-test.sh
+++ b/tests/vloghtb/run-test.sh
@@ -9,7 +9,7 @@ tar --strip=1 -xjf vloghammer_tb.tar.bz2
make clean
rm -rf log_test_*
-make -j4 EXIT_ON_ERROR=1 YOSYS_BIN=$PWD/../../yosys YOSYS_SCRIPT="proc;;" check_yosys
-make -j4 -f test_makefile MODE=share
-make -j4 -f test_makefile MODE=mapopt
+${MAKE:-make} EXIT_ON_ERROR=1 YOSYS_BIN=$PWD/../../yosys YOSYS_SCRIPT="proc;;" check_yosys
+${MAKE:-make} -f test_makefile MODE=share
+${MAKE:-make} -f test_makefile MODE=mapopt