]> git.lizzy.rs Git - rust.git/blobdiff - mk/tests.mk
pass CXX to run-make
[rust.git] / mk / tests.mk
index 90dff2fa19088bcca9d0e76b013a7752486de022..b887f7b887f2a0b5a4d93a7556e2e063ebd797b0 100644 (file)
@@ -45,7 +45,7 @@ ifdef CHECK_IGNORED
   TESTARGS += --ignored
 endif
 
-# Arguments to the cfail/rfail/rpass/bench tests
+# Arguments to the cfail/rfail/rpass tests
 ifdef CFG_VALGRIND
   CTEST_RUNTOOL = --runtool "$(CFG_VALGRIND)"
 endif
@@ -298,15 +298,14 @@ check-stage$(1)-T-$(2)-H-$(3)-exec: \
        check-stage$(1)-T-$(2)-H-$(3)-rfail-exec \
        check-stage$(1)-T-$(2)-H-$(3)-cfail-exec \
        check-stage$(1)-T-$(2)-H-$(3)-pfail-exec \
-    check-stage$(1)-T-$(2)-H-$(3)-rpass-valgrind-exec \
-    check-stage$(1)-T-$(2)-H-$(3)-rpass-full-exec \
-    check-stage$(1)-T-$(2)-H-$(3)-rfail-full-exec \
+       check-stage$(1)-T-$(2)-H-$(3)-rpass-valgrind-exec \
+       check-stage$(1)-T-$(2)-H-$(3)-rpass-full-exec \
+       check-stage$(1)-T-$(2)-H-$(3)-rfail-full-exec \
        check-stage$(1)-T-$(2)-H-$(3)-cfail-full-exec \
        check-stage$(1)-T-$(2)-H-$(3)-rmake-exec \
        check-stage$(1)-T-$(2)-H-$(3)-rustdocck-exec \
-        check-stage$(1)-T-$(2)-H-$(3)-crates-exec \
-        check-stage$(1)-T-$(2)-H-$(3)-doc-crates-exec \
-       check-stage$(1)-T-$(2)-H-$(3)-bench-exec \
+       check-stage$(1)-T-$(2)-H-$(3)-crates-exec \
+       check-stage$(1)-T-$(2)-H-$(3)-doc-crates-exec \
        check-stage$(1)-T-$(2)-H-$(3)-debuginfo-gdb-exec \
        check-stage$(1)-T-$(2)-H-$(3)-debuginfo-lldb-exec \
        check-stage$(1)-T-$(2)-H-$(3)-codegen-exec \
@@ -344,7 +343,6 @@ check-stage$(1)-T-$(2)-H-$(3)-pretty-exec: \
        check-stage$(1)-T-$(2)-H-$(3)-pretty-rpass-full-exec \
        check-stage$(1)-T-$(2)-H-$(3)-pretty-rfail-exec \
        check-stage$(1)-T-$(2)-H-$(3)-pretty-rfail-full-exec \
-       check-stage$(1)-T-$(2)-H-$(3)-pretty-bench-exec \
        check-stage$(1)-T-$(2)-H-$(3)-pretty-pretty-exec
 
 endef
@@ -468,7 +466,6 @@ CFAIL_FULL_RS := $(wildcard $(S)src/test/compile-fail-fulldeps/*.rs)
 RFAIL_RS := $(wildcard $(S)src/test/run-fail/*.rs)
 CFAIL_RS := $(wildcard $(S)src/test/compile-fail/*.rs)
 PFAIL_RS := $(wildcard $(S)src/test/parse-fail/*.rs)
-BENCH_RS := $(wildcard $(S)src/test/bench/*.rs)
 PRETTY_RS := $(wildcard $(S)src/test/pretty/*.rs)
 DEBUGINFO_GDB_RS := $(wildcard $(S)src/test/debuginfo/*.rs)
 DEBUGINFO_LLDB_RS := $(wildcard $(S)src/test/debuginfo/*.rs)
@@ -485,7 +482,6 @@ CFAIL_FULL_TESTS := $(CFAIL_FULL_RS)
 RFAIL_TESTS := $(RFAIL_RS)
 CFAIL_TESTS := $(CFAIL_RS)
 PFAIL_TESTS := $(PFAIL_RS)
-BENCH_TESTS := $(BENCH_RS)
 PRETTY_TESTS := $(PRETTY_RS)
 DEBUGINFO_GDB_TESTS := $(DEBUGINFO_GDB_RS)
 DEBUGINFO_LLDB_TESTS := $(DEBUGINFO_LLDB_RS)
@@ -533,11 +529,6 @@ CTEST_BUILD_BASE_pfail = parse-fail
 CTEST_MODE_pfail = parse-fail
 CTEST_RUNTOOL_pfail = $(CTEST_RUNTOOL)
 
-CTEST_SRC_BASE_bench = bench
-CTEST_BUILD_BASE_bench = bench
-CTEST_MODE_bench = run-pass
-CTEST_RUNTOOL_bench = $(CTEST_RUNTOOL)
-
 CTEST_SRC_BASE_debuginfo-gdb = debuginfo
 CTEST_BUILD_BASE_debuginfo-gdb = debuginfo-gdb
 CTEST_MODE_debuginfo-gdb = debuginfo-gdb
@@ -612,7 +603,7 @@ TEST_SREQ$(1)_T_$(2)_H_$(3) = \
        $$(HBIN$(1)_H_$(3))/compiletest$$(X_$(3)) \
        $$(SREQ$(1)_T_$(2)_H_$(3))
 
-# Rules for the cfail/rfail/rpass/bench test runner
+# Rules for the cfail/rfail/rpass test runner
 
 # The tests select when to use debug configuration on their own;
 # remove directive, if present, from CFG_RUSTC_FLAGS (issue #7898).
@@ -675,7 +666,6 @@ CTEST_DEPS_cfail-full_$(1)-T-$(2)-H-$(3) = $$(CFAIL_FULL_TESTS) $$(CSREQ$(1)_T_$
 CTEST_DEPS_rfail_$(1)-T-$(2)-H-$(3) = $$(RFAIL_TESTS)
 CTEST_DEPS_cfail_$(1)-T-$(2)-H-$(3) = $$(CFAIL_TESTS)
 CTEST_DEPS_pfail_$(1)-T-$(2)-H-$(3) = $$(PFAIL_TESTS)
-CTEST_DEPS_bench_$(1)-T-$(2)-H-$(3) = $$(BENCH_TESTS)
 CTEST_DEPS_debuginfo-gdb_$(1)-T-$(2)-H-$(3) = $$(DEBUGINFO_GDB_TESTS)
 CTEST_DEPS_debuginfo-lldb_$(1)-T-$(2)-H-$(3) = $$(DEBUGINFO_LLDB_TESTS) \
                                                $(S)src/etc/lldb_batchmode.py \
@@ -683,8 +673,8 @@ CTEST_DEPS_debuginfo-lldb_$(1)-T-$(2)-H-$(3) = $$(DEBUGINFO_LLDB_TESTS) \
 CTEST_DEPS_codegen_$(1)-T-$(2)-H-$(3) = $$(CODEGEN_TESTS)
 CTEST_DEPS_codegen-units_$(1)-T-$(2)-H-$(3) = $$(CODEGEN_UNITS_TESTS)
 CTEST_DEPS_rustdocck_$(1)-T-$(2)-H-$(3) = $$(RUSTDOCCK_TESTS) \
-        $$(HBIN$(1)_H_$(3))/rustdoc$$(X_$(3)) \
-       $(S)src/etc/htmldocck.py
+               $$(HBIN$(1)_H_$(3))/rustdoc$$(X_$(3)) \
+               $(S)src/etc/htmldocck.py
 
 endef
 
@@ -748,7 +738,7 @@ endif
 endef
 
 CTEST_NAMES = rpass rpass-valgrind rpass-full rfail-full cfail-full rfail cfail pfail \
-       bench debuginfo-gdb debuginfo-lldb codegen codegen-units rustdocck
+       debuginfo-gdb debuginfo-lldb codegen codegen-units rustdocck
 
 $(foreach host,$(CFG_HOST), \
  $(eval $(foreach target,$(CFG_TARGET), \
@@ -757,20 +747,18 @@ $(foreach host,$(CFG_HOST), \
    $(eval $(call DEF_RUN_COMPILETEST,$(stage),$(target),$(host),$(name))))))))))
 
 PRETTY_NAMES = pretty-rpass pretty-rpass-valgrind pretty-rpass-full pretty-rfail-full pretty-rfail \
-    pretty-bench pretty-pretty
+    pretty-pretty
 PRETTY_DEPS_pretty-rpass = $(RPASS_TESTS)
 PRETTY_DEPS_pretty-rpass-valgrind = $(RPASS_VALGRIND_TESTS)
 PRETTY_DEPS_pretty-rpass-full = $(RPASS_FULL_TESTS)
 PRETTY_DEPS_pretty-rfail-full = $(RFAIL_FULL_TESTS)
 PRETTY_DEPS_pretty-rfail = $(RFAIL_TESTS)
-PRETTY_DEPS_pretty-bench = $(BENCH_TESTS)
 PRETTY_DEPS_pretty-pretty = $(PRETTY_TESTS)
 PRETTY_DIRNAME_pretty-rpass = run-pass
 PRETTY_DIRNAME_pretty-rpass-valgrind = run-pass-valgrind
 PRETTY_DIRNAME_pretty-rpass-full = run-pass-fulldeps
 PRETTY_DIRNAME_pretty-rfail-full = run-fail-fulldeps
 PRETTY_DIRNAME_pretty-rfail = run-fail
-PRETTY_DIRNAME_pretty-bench = bench
 PRETTY_DIRNAME_pretty-pretty = pretty
 
 define DEF_PRETTY_FULLDEPS
@@ -904,6 +892,28 @@ $(foreach host,$(CFG_HOST), \
    $(foreach crate,$(TEST_DOC_CRATES), \
     $(eval $(call DEF_CRATE_DOC_TEST,$(stage),$(target),$(host),$(crate)))))))
 
+define DEF_DOC_TEST_ERROR_INDEX
+
+check-stage$(1)-T-$(2)-H-$(3)-doc-error-index-exec: $$(call TEST_OK_FILE,$(1),$(2),$(3),doc-error-index)
+
+ifeq ($(2),$$(CFG_BUILD))
+$$(call TEST_OK_FILE,$(1),$(2),$(3),doc-error-index): \
+               $$(TEST_SREQ$(1)_T_$(2)_H_$(3)) \
+               doc/error-index.md
+       $$(Q)touch $$@.start_time
+       $$(RUSTDOC_$(1)_T_$(2)_H_$(3)) --test doc/error-index.md
+       $$(Q)touch -r $$@.start_time $$@ && rm $$@.start_time
+else
+$$(call TEST_OK_FILE,$(1),$(2),$(3),doc-error-index):
+       $$(Q)touch $$@
+endif
+endef
+
+$(foreach host,$(CFG_HOST), \
+ $(foreach target,$(CFG_TARGET), \
+  $(foreach stage,$(STAGES), \
+   $(eval $(call DEF_DOC_TEST_ERROR_INDEX,$(stage),$(target),$(host))))))
+
 ######################################################################
 # Shortcut rules
 ######################################################################
@@ -913,14 +923,13 @@ TEST_GROUPS = \
        $(foreach crate,$(TEST_CRATES),$(crate)) \
        $(foreach crate,$(TEST_DOC_CRATES),doc-crate-$(crate)) \
        rpass \
-    rpass-valgrind \
+       rpass-valgrind \
        rpass-full \
        rfail-full \
        cfail-full \
        rfail \
        cfail \
        pfail \
-       bench \
        rmake \
        rustdocck \
        debuginfo-gdb \
@@ -931,11 +940,10 @@ TEST_GROUPS = \
        $(foreach docname,$(DOC_NAMES),doc-$(docname)) \
        pretty \
        pretty-rpass \
-    pretty-rpass-valgrind \
+       pretty-rpass-valgrind \
        pretty-rpass-full \
        pretty-rfail-full \
        pretty-rfail \
-       pretty-bench \
        pretty-pretty \
        $(NULL)
 
@@ -1001,7 +1009,8 @@ define DEF_CHECK_DOC_FOR_STAGE
 check-stage$(1)-docs: $$(foreach docname,$$(DOC_NAMES), \
                        check-stage$(1)-T-$$(CFG_BUILD)-H-$$(CFG_BUILD)-doc-$$(docname)) \
                      $$(foreach crate,$$(TEST_DOC_CRATES), \
-                       check-stage$(1)-T-$$(CFG_BUILD)-H-$$(CFG_BUILD)-doc-crate-$$(crate))
+                       check-stage$(1)-T-$$(CFG_BUILD)-H-$$(CFG_BUILD)-doc-crate-$$(crate)) \
+                     check-stage$(1)-T-$$(CFG_BUILD)-H-$$(CFG_BUILD)-doc-error-index-exec
 endef
 
 $(foreach stage,$(STAGES), \
@@ -1062,7 +1071,9 @@ $(3)/test/run-make/%-$(1)-T-$(2)-H-$(3).ok: \
            $$(S) \
            $(3) \
            "$$(LLVM_LIBDIR_RUSTFLAGS_$(3))" \
-           "$$(LLVM_ALL_COMPONENTS_$(3))"
+           "$$(LLVM_ALL_COMPONENTS_$(3))" \
+           "$$(LLVM_CXXFLAGS_$(3))" \
+           '$$(CXX_$(3))'
        @touch -r $$@.start_time $$@ && rm $$@.start_time
 else
 # FIXME #11094 - The above rule doesn't work right for multiple targets