summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mk/clean.mk2
-rw-r--r--mk/tests.mk42
2 files changed, 29 insertions, 15 deletions
diff --git a/mk/clean.mk b/mk/clean.mk
index 1a962276b44..57c14b0afc8 100644
--- a/mk/clean.mk
+++ b/mk/clean.mk
@@ -48,7 +48,7 @@ clean-misc:
$(Q)rm -f $(RUSTLLVM_LIB_OBJS) $(RUSTLLVM_OBJS_OBJS) $(RUSTLLVM_DEF)
$(Q)rm -Rf $(DOCS)
$(Q)rm -Rf $(GENERATED)
- $(Q)rm -f tmp/*.log tmp/*.rc tmp/*.rs
+ $(Q)rm -f tmp/*.log tmp/*.rc tmp/*.rs tmp/*.ok
$(Q)rm -Rf rust-stage0-*.tar.bz2 $(PKG_NAME)-*.tar.gz dist
$(Q)rm -Rf $(foreach ext, \
html aux cp fn ky log pdf pg toc tp vr cps, \
diff --git a/mk/tests.mk b/mk/tests.mk
index 7fc060e8301..2c1b19486af 100644
--- a/mk/tests.mk
+++ b/mk/tests.mk
@@ -62,6 +62,8 @@ ifeq ($(MAKECMDGOALS),perf)
export RUST_BENCH
endif
+TEST_LOG_FILE=tmp/check-stage$(1)-T-$(2)-H-$(3)-$(4).log
+TEST_OK_FILE=tmp/check-stage$(1)-T-$(2)-H-$(3)-$(4).ok
######################################################################
# Main test targets
@@ -251,11 +253,14 @@ $(foreach host,$(CFG_TARGET_TRIPLES), \
$(eval $(call TEST_RUNNER,$(stage),$(target),$(host))))))))
define DEF_TEST_CRATE_RULES
-check-stage$(1)-T-$(2)-H-$(3)-$(4)-exec: \
+check-stage$(1)-T-$(2)-H-$(3)-$(4)-exec: $$(call TEST_OK_FILE,$(1),$(2),$(3),$(4))
+
+$$(call TEST_OK_FILE,$(1),$(2),$(3),$(4)): \
$(3)/test/$(4)test.stage$(1)-$(2)$$(X)
@$$(call E, run: $$<)
$$(Q)$$(call CFG_RUN_TEST,$$<,$(2),$(3)) $$(TESTARGS) \
- --logfile tmp/check-stage$(1)-T-$(2)-H-$(3)-$(4).log
+ --logfile $$(call TEST_LOG_FILE,$(1),$(2),$(3),$(4)) \
+ && touch $$@
endef
$(foreach host,$(CFG_TARGET_TRIPLES), \
@@ -347,12 +352,12 @@ CTEST_COMMON_ARGS$(1)-T-$(2)-H-$(3) := \
--rustcflags "$$(CFG_RUSTC_FLAGS) --target=$(2)" \
$$(CTEST_TESTARGS)
-CTEST_DEPS_rpass_$(1)-T-$(2)-H-$(3) = $((RPASS_TESTS))
-CTEST_DEPS_rpass_full_$(1)-T-$(2)-H-$(3) = $((RPASS_FULL_TESTS)) $$(TLIBRUSTC_DEFAULT$(1)_T_$(2)_H_$(3))
-CTEST_DEPS_rfail_$(1)-T-$(2)-H-$(3) = $((RFAIL_TESTS))
-CTEST_DEPS_cfail_$(1)-T-$(2)-H-$(3) = $((CFAIL_TESTS))
-CTEST_DEPS_bench_$(1)-T-$(2)-H-$(3) = $((BENCH_TESTS))
-CTEST_DEPS_perf_$(1)-T-$(2)-H-$(3) = $((PERF_TESTS))
+CTEST_DEPS_rpass_$(1)-T-$(2)-H-$(3) = $$(RPASS_TESTS)
+CTEST_DEPS_rpass_full_$(1)-T-$(2)-H-$(3) = $$(RPASS_FULL_TESTS) $$(TLIBRUSTC_DEFAULT$(1)_T_$(2)_H_$(3))
+CTEST_DEPS_rfail_$(1)-T-$(2)-H-$(3) = $$(RFAIL_TESTS)
+CTEST_DEPS_cfail_$(1)-T-$(2)-H-$(3) = $$(CFAIL_TESTS)
+CTEST_DEPS_bench_$(1)-T-$(2)-H-$(3) = $$(BENCH_TESTS)
+CTEST_DEPS_perf_$(1)-T-$(2)-H-$(3) = $$(PERF_TESTS)
endef
@@ -370,13 +375,16 @@ CTEST_ARGS$(1)-T-$(2)-H-$(3)-$(4) := \
--mode $$(CTEST_MODE_$(4)) \
$$(CTEST_RUNTOOL_$(4))
-check-stage$(1)-T-$(2)-H-$(3)-$(4)-exec: \
+check-stage$(1)-T-$(2)-H-$(3)-$(4)-exec: $$(call TEST_OK_FILE,$(1),$(2),$(3),$(4))
+
+$$(call TEST_OK_FILE,$(1),$(2),$(3),$(4)): \
$$(TEST_SREQ$(1)_T_$(2)_H_$(3)) \
$$(CTEST_DEPS_$(4)_$(1)-T-$(2)-H-$(3))
@$$(call E, run $(4): $$<)
$$(Q)$$(call CFG_RUN_CTEST,$(1),$$<,$(3)) \
$$(CTEST_ARGS$(1)-T-$(2)-H-$(3)-$(4)) \
- --logfile tmp/check-stage$(1)-T-$(2)-H-$(3)-$(4).log
+ --logfile $$(call TEST_LOG_FILE,$(1),$(2),$(3),$(4)) \
+ && touch $$@
endef
@@ -408,13 +416,16 @@ PRETTY_ARGS$(1)-T-$(2)-H-$(3)-$(4) := \
--build-base $(3)/test/$$(PRETTY_DIRNAME_$(4))/ \
--mode pretty
-check-stage$(1)-T-$(2)-H-$(3)-$(4)-exec: \
+check-stage$(1)-T-$(2)-H-$(3)-$(4)-exec: $$(call TEST_OK_FILE,$(1),$(2),$(3),$(4))
+
+$$(call TEST_OK_FILE,$(1),$(2),$(3),$(4)): \
$$(TEST_SREQ$(1)_T_$(2)_H_$(3)) \
$$(PRETTY_DEPS_$(4))
@$$(call E, run pretty-rpass: $$<)
$$(Q)$$(call CFG_RUN_CTEST,$(1),$$<,$(3)) \
$$(PRETTY_ARGS$(1)-T-$(2)-H-$(3)-$(4)) \
- --logfile tmp/check-stage$(1)-T-$(2)-H-$(3)-$(4).log
+ --logfile $$(call TEST_LOG_FILE,$(1),$(2),$(3),$(4)) \
+ && touch $$@
endef
@@ -432,13 +443,16 @@ DOC_TEST_ARGS$(1)-T-$(2)-H-$(3)-$(4) := \
--build-base $(3)/test/doc-$(4)/ \
--mode run-pass
-check-stage$(1)-T-$(2)-H-$(3)-doc-$(4)-exec: \
+check-stage$(1)-T-$(2)-H-$(3)-doc-$(4)-exec: $$(call TEST_OK_FILE,$(1),$(2),$(3),$(4))
+
+$$(call TEST_OK_FILE,$(1),$(2),$(3),$(4)): \
$$(TEST_SREQ$(1)_T_$(2)_H_$(3)) \
doc-$(4)-extract$(3)
@$$(call E, run doc-$(4): $$<)
$$(Q)$$(call CFG_RUN_CTEST,$(1),$$<,$(3)) \
$$(DOC_TEST_ARGS$(1)-T-$(2)-H-$(3)-$(4)) \
- --logfile tmp/check-stage$(1)-T-$(2)-H-$(3)-doc-$(4).log
+ --logfile $$(call TEST_LOG_FILE,$(1),$(2),$(3),doc-$(4)) \
+ && touch $$@
endef