diff --git a/Makefile b/Makefile index fc4a521..13a9d60 100644 --- a/Makefile +++ b/Makefile @@ -70,6 +70,10 @@ docker-check-stress: docker-bench: $(DOCKER_RUN) sh -c 'make clean && make bench' +docker-valgrind: + $(DOCKER_RUN) sh -c 'make clean && make -C tests unit_test && \ + cd tests && valgrind -q --error-exitcode=1 ./unit_test $(UNITARGS)' + docker: docker-image $(MAKE) docker-build @@ -95,4 +99,4 @@ verify-map: .PHONY: all check check-live check-stress test verify-map clean gtk bench \ docker docker-image docker-build docker-check docker-check-live \ - docker-check-stress docker-bench + docker-check-stress docker-bench docker-valgrind diff --git a/README.md b/README.md index ec02c81..b437548 100644 --- a/README.md +++ b/README.md @@ -76,8 +76,9 @@ make check-stress # randomized, capacity, collision, failure, and restart test `UNITARGS` filters only the focused C unit suite, for example `make check UNITARGS=hangul`. It does not select or skip live and stress -tests. `make docker-check` force-rebuilds and runs all three tiers in the -container; run `make docker-image` first after changing `Dockerfile`. +tests. `make docker-check` rebuilds and runs all three tiers in the +container, and `make docker-valgrind` runs the unit suite under Valgrind +there; run `make docker-image` first after changing `Dockerfile`. Native Linux source builds require a C toolchain, Make, pkg-config, Python 3, and cmp/diff, plus development files for: