summaryrefslogtreecommitdiff
path: root/make/test.make
blob: e57180cb55f23fe413dfb3ddd928d7e1c5dcff3e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
.PHONY: test speedtest alltest
test: $(TEST) exec

# targets with long runtime
speedtest: $(SPEEDTEST)
alltest: test speedtest

test_%: tmp/.passed.test_%
	@echo "=== $@ passed ==="

tmp/%/.test.init_dir:
	@mkdir -p $(shell dirname $@)
	@rm $(shell dirname $@)/{*,.test*} 2>/dev/null || true
	@date > $@

.SECONDEXPANSION:
tmp/.passed.test_%: DIR=tmp/$(shell basename $<)
tmp/.passed.test_%: bin/test_% tmp/test_%/.test.init_dir
	@echo "running $(DIR)"
	@(cd "$(DIR)" && ../../$<) || (if [ -z "$$KEEPTEST" ]; then rm -r "$(DIR)"; fi; false)
	@rm -r "$(DIR)"
	@date > $@

# TODO: bootstrap has to wait for dir creation (yes, this is a race
# cond right now - good luck)
tmp/.passed.test_sim_loop: tmp/test_sim_loop/.bootstrap
tmp/.passed.test_filter: tmp/test_filter/.topology
contact: Jan Huwald // Impressum