Added "make -j{N}" support to "make test"

This commit is contained in:
Clifford Wolf 2014-07-30 19:21:52 +02:00
parent ceecf5b153
commit 7d98645fe8
7 changed files with 39 additions and 22 deletions

View File

@ -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 ""

View File

@ -1,2 +1,2 @@
#!/bin/bash
exec bash ../tools/autotest.sh -G *.v
exec ${MAKE:-make} -f ../tools/autotest.mk *.v

View File

@ -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

View File

@ -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

8
tests/tools/autotest.mk Normal file
View File

@ -0,0 +1,8 @@
EXTRA_FLAGS=
$(MAKECMDGOALS):
@$(basename $(MAKEFILE_LIST)).sh -G -j $(EXTRA_FLAGS) $@
.PHONY: $(MAKECMDGOALS)

View File

@ -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

View File

@ -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