# simple makefile wrapper to run waf
-PYTHON?=python
WAF_BINARY=$(PYTHON) ./buildtools/bin/waf
-WAF=WAF_MAKE=1 $(WAF_BINARY)
+WAF=PYTHONHASHSEED=1 WAF_MAKE=1 $(WAF_BINARY)
all:
$(WAF) build
test:
$(WAF) test $(TEST_OPTIONS)
+perftest:
+ $(WAF) test --perf-test $(TEST_OPTIONS)
+
help:
@echo NOTE: to run extended waf options use $(WAF_BINARY) or modify your PATH
$(WAF) --help
testenv:
$(WAF) test --testenv $(TEST_OPTIONS)
+lcov:
+ @echo usage:
+ @echo ""
+ @echo ./configure --enable-coverage
+ @echo make -j
+ @echo make test TESTS=mytest
+ @echo make lcov
+ @echo ""
+ rm -f lcov.info
+ lcov --capture --directory . --output-file lcov.info && \
+ genhtml lcov.info --output-directory public --prefix=$$(pwd) && \
+ echo Please open public/index.html in browser to view the coverage report
+
gdbtestenv:
$(WAF) test --testenv --gdbtest $(TEST_OPTIONS)
quicktest:
$(WAF) test --quick $(TEST_OPTIONS)
+randomized-test:
+ $(WAF) test --random-order $(TEST_OPTIONS)
+
+testlist:
+ $(WAF) test --list $(TEST_OPTIONS)
+
+test-nopython:
+ $(WAF) test --no-subunit-filter --test-list=selftest/no-python-tests.txt $(TEST_OPTIONS)
+
dist:
touch .tmplock
WAFLOCK=.tmplock $(WAF) dist
# so only 1 waf at a time will be called but it will still be able to do parralel builds if
# instructed to do so
.NOTPARALLEL: %
-.PHONY: FORCE
+.PHONY: FORCE everything testsuite check torture