diff options
author | Tim Newsome <tim@sifive.com> | 2019-12-10 13:22:58 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-12-10 13:22:58 -0800 |
commit | 9e3decb78644b7fce690acb217b295a40b86ef12 (patch) | |
tree | 975301684510c2c4ad0123d7d33054f32babaf1b /debug/Makefile | |
parent | 39234b7491c05e98f84d981f1c7bb6aea005ab30 (diff) | |
download | riscv-tests-9e3decb78644b7fce690acb217b295a40b86ef12.zip riscv-tests-9e3decb78644b7fce690acb217b295a40b86ef12.tar.gz riscv-tests-9e3decb78644b7fce690acb217b295a40b86ef12.tar.bz2 |
Improve parallellism in debug test Makefile (#223)
* Improve parallellism in debug test Makefile
Now each test is an individual make target, so you can get the most out
of however many cores you have. On my 12-core system, `make` went from
2m45s to 42s, and `make all` went from `3m25s` to `2m39s`.
If you have few cores, this change may actually slow things down a bit,
because ExamineTarget is run for every gdbserver.py invocation.
* Remove test target.
Diffstat (limited to 'debug/Makefile')
-rw-r--r-- | debug/Makefile | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/debug/Makefile b/debug/Makefile index 41d08f5..3efdea8 100644 --- a/debug/Makefile +++ b/debug/Makefile @@ -3,6 +3,7 @@ XLEN ?= 64 src_dir ?= . GDBSERVER_PY = $(src_dir)/gdbserver.py +TESTS = $(shell $(GDBSERVER_PY) --list-tests $(src_dir)/targets/RISC-V/spike32.py) default: spike$(XLEN) spike$(XLEN)-2 @@ -11,19 +12,24 @@ all-tests: spike32 spike32-2 spike32-2-rtos spike32-2-hwthread \ all: pylint all-tests +run.%: + echo $@ + $(GDBSERVER_PY) \ + $(src_dir)/targets/RISC-V/$(word 2, $(subst ., ,$@)).py \ + $(word 3, $(subst ., ,$@)) \ + --isolate \ + --print-failures \ + --sim_cmd $(RISCV)/bin/$(RISCV_SIM) \ + --server_cmd $(RISCV)/bin/openocd + # Target to check all the multicore options. multi-tests: spike32-2 spike64-2-rtos spike32-2-hwthread pylint: pylint --rcfile=pylint.rc `git ls-files '*.py'` -spike%: - $(GDBSERVER_PY) \ - --isolate \ - --print-failures \ - $(src_dir)/targets/RISC-V/$@.py \ - --sim_cmd $(RISCV)/bin/$(RISCV_SIM) \ - --server_cmd $(RISCV)/bin/openocd +spike%: $(foreach test, $(TESTS), run.spike%.$(test)) + echo Finished $@ clean: rm -f *.pyc |