/mk/tests.mk
Makefile | 947 lines | 737 code | 155 blank | 55 comment | 0 complexity | 732de4ada903139becad737638c872a1 MD5 | raw file
Possible License(s): JSON, Apache-2.0, MIT
- # Copyright 2012 The Rust Project Developers. See the COPYRIGHT
- # file at the top-level directory of this distribution and at
- # http://rust-lang.org/COPYRIGHT.
- #
- # Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
- # http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
- # <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
- # option. This file may not be copied, modified, or distributed
- # except according to those terms.
- ######################################################################
- # Testing variables
- ######################################################################
- RPASS_RC := $(wildcard $(S)src/test/run-pass/*.rc)
- RPASS_RS := $(wildcard $(S)src/test/run-pass/*.rs)
- RPASS_FULL_RC := $(wildcard $(S)src/test/run-pass-fulldeps/*.rc)
- RPASS_FULL_RS := $(wildcard $(S)src/test/run-pass-fulldeps/*.rs)
- RFAIL_RC := $(wildcard $(S)src/test/run-fail/*.rc)
- RFAIL_RS := $(wildcard $(S)src/test/run-fail/*.rs)
- CFAIL_RC := $(wildcard $(S)src/test/compile-fail/*.rc)
- CFAIL_RS := $(wildcard $(S)src/test/compile-fail/*.rs)
- BENCH_RS := $(wildcard $(S)src/test/bench/*.rs)
- PRETTY_RS := $(wildcard $(S)src/test/pretty/*.rs)
- # perf tests are the same as bench tests only they run under
- # a performance monitor.
- PERF_RS := $(wildcard $(S)src/test/bench/*.rs)
- RPASS_TESTS := $(RPASS_RC) $(RPASS_RS)
- RPASS_FULL_TESTS := $(RPASS_FULL_RC) $(RPASS_FULL_RS)
- RFAIL_TESTS := $(RFAIL_RC) $(RFAIL_RS)
- CFAIL_TESTS := $(CFAIL_RC) $(CFAIL_RS)
- BENCH_TESTS := $(BENCH_RS)
- PERF_TESTS := $(PERF_RS)
- PRETTY_TESTS := $(PRETTY_RS)
- FT := run_pass_stage2
- FT_LIB := $(call CFG_LIB_NAME,$(FT))
- FT_DRIVER := $(FT)_driver
- # The arguments to all test runners
- ifdef TESTNAME
- TESTARGS += $(TESTNAME)
- endif
- ifdef CHECK_XFAILS
- TESTARGS += --ignored
- endif
- # Arguments to the cfail/rfail/rpass/bench tests
- ifdef CFG_VALGRIND
- CTEST_RUNTOOL = --runtool "$(CFG_VALGRIND)"
- endif
- # Arguments to the perf tests
- ifdef CFG_PERF_TOOL
- CTEST_PERF_RUNTOOL = --runtool "$(CFG_PERF_TOOL)"
- endif
- CTEST_TESTARGS := $(TESTARGS)
- ifdef VERBOSE
- CTEST_TESTARGS += --verbose
- endif
- # Run the compiletest runner itself under valgrind
- ifdef CTEST_VALGRIND
- CFG_RUN_CTEST=$(call CFG_RUN_TEST,$(2),$(3))
- else
- CFG_RUN_CTEST=$(call CFG_RUN,$(TLIB$(1)_T_$(3)_H_$(3)),$(2))
- endif
- # If we're running perf then set this environment variable
- # to put the benchmarks into 'hard mode'
- ifeq ($(MAKECMDGOALS),perf)
- RUST_BENCH=1
- export RUST_BENCH
- endif
- ######################################################################
- # Main test targets
- ######################################################################
- .PHONY: cleantmptestlogs cleantestlibs
- cleantmptestlogs:
- $(Q)rm -f tmp/*.log
- cleantestlibs:
- $(Q)find $(CFG_HOST_TRIPLE)/test \
- -name '*.[odasS]' -o \
- -name '*.so' -o \
- -name '*.dylib' -o \
- -name '*.dll' -o \
- -name '*.def' -o \
- -name '*.bc' -o \
- -name '*.dSYM' -o \
- -name '*.libaux' -o \
- -name '*.out' -o \
- -name '*.err' \
- | xargs rm -rf
- check: cleantestlibs cleantmptestlogs tidy all check-stage2
- $(Q)$(CFG_PYTHON) $(S)src/etc/check-summary.py tmp/*.log
- check-notidy: cleantestlibs cleantmptestlogs all check-stage2
- $(Q)$(CFG_PYTHON) $(S)src/etc/check-summary.py tmp/*.log
- check-full: cleantestlibs cleantmptestlogs tidy \
- all check-stage1 check-stage2 check-stage3
- $(Q)$(CFG_PYTHON) $(S)src/etc/check-summary.py tmp/*.log
- check-test: cleantestlibs cleantmptestlogs all check-stage2-rfail
- $(Q)$(CFG_PYTHON) $(S)src/etc/check-summary.py tmp/*.log
- check-lite: cleantestlibs cleantmptestlogs rustc-stage2 \
- check-stage2-core check-stage2-std check-stage2-rpass \
- check-stage2-rfail check-stage2-cfail
- $(Q)$(CFG_PYTHON) $(S)src/etc/check-summary.py tmp/*.log
- # Run the tidy script in multiple parts to avoid huge 'echo' commands
- ifdef CFG_NOTIDY
- tidy:
- else
- ALL_CS := $(wildcard $(S)src/rt/*.cpp \
- $(S)src/rt/*/*.cpp \
- $(S)src/rt/*/*/*.cpp \
- $(S)srcrustllvm/*.cpp)
- ALL_CS := $(filter-out $(S)src/rt/bigint/bigint_ext.cpp \
- $(S)src/rt/bigint/bigint_int.cpp \
- $(S)src/rt/miniz.cpp \
- $(S)src/rt/linenoise/linenoise.c \
- $(S)src/rt/linenoise/utf8.c \
- ,$(ALL_CS))
- ALL_HS := $(wildcard $(S)src/rt/*.h \
- $(S)src/rt/*/*.h \
- $(S)src/rt/*/*/*.h \
- $(S)srcrustllvm/*.h)
- ALL_HS := $(filter-out $(S)src/rt/vg/valgrind.h \
- $(S)src/rt/vg/memcheck.h \
- $(S)src/rt/uthash/uthash.h \
- $(S)src/rt/uthash/utlist.h \
- $(S)src/rt/msvc/typeof.h \
- $(S)src/rt/msvc/stdint.h \
- $(S)src/rt/msvc/inttypes.h \
- $(S)src/rt/bigint/bigint.h \
- $(S)src/rt/linenoise/linenoise.h \
- $(S)src/rt/linenoise/utf8.h \
- ,$(ALL_HS))
- tidy:
- @$(call E, check: formatting)
- $(Q)find $(S)src -name '*.r[sc]' \
- | grep '^$(S)src/test' -v \
- | xargs -n 10 $(CFG_PYTHON) $(S)src/etc/tidy.py
- $(Q)find $(S)src/etc -name '*.py' \
- | xargs -n 10 $(CFG_PYTHON) $(S)src/etc/tidy.py
- $(Q)echo $(ALL_CS) \
- | xargs -n 10 $(CFG_PYTHON) $(S)src/etc/tidy.py
- $(Q)echo $(ALL_HS) \
- | xargs -n 10 $(CFG_PYTHON) $(S)src/etc/tidy.py
- endif
- ######################################################################
- # Extracting tests for docs
- ######################################################################
- EXTRACT_TESTS := "$(CFG_PYTHON)" $(S)src/etc/extract-tests.py
- define DEF_DOC_TEST_HOST
- doc-tutorial-extract$(1):
- @$$(call E, extract: tutorial tests)
- $$(Q)rm -f $(1)/test/doc-tutorial/*.rs
- $$(Q)$$(EXTRACT_TESTS) $$(S)doc/tutorial.md $(1)/test/doc-tutorial
- doc-tutorial-ffi-extract$(1):
- @$$(call E, extract: tutorial-ffi tests)
- $$(Q)rm -f $(1)/test/doc-tutorial-ffi/*.rs
- $$(Q)$$(EXTRACT_TESTS) $$(S)doc/tutorial-ffi.md $(1)/test/doc-tutorial-ffi
- doc-tutorial-macros-extract$(1):
- @$$(call E, extract: tutorial-macros tests)
- $$(Q)rm -f $(1)/test/doc-tutorial-macros/*.rs
- $$(Q)$$(EXTRACT_TESTS) $$(S)doc/tutorial-macros.md $(1)/test/doc-tutorial-macros
- doc-tutorial-borrowed-ptr-extract$(1):
- @$$(call E, extract: tutorial-borrowed-ptr tests)
- $$(Q)rm -f $(1)/test/doc-tutorial-borrowed-ptr/*.rs
- $$(Q)$$(EXTRACT_TESTS) $$(S)doc/tutorial-borrowed-ptr.md $(1)/test/doc-tutorial-borrowed-ptr
- doc-tutorial-tasks-extract$(1):
- @$$(call E, extract: tutorial-tasks tests)
- $$(Q)rm -f $(1)/test/doc-tutorial-tasks/*.rs
- $$(Q)$$(EXTRACT_TESTS) $$(S)doc/tutorial-tasks.md $(1)/test/doc-tutorial-tasks
- doc-ref-extract$(1):
- @$$(call E, extract: ref tests)
- $$(Q)rm -f $(1)/test/doc-ref/*.rs
- $$(Q)$$(EXTRACT_TESTS) $$(S)doc/rust.md $(1)/test/doc-ref
- endef
- $(foreach host,$(CFG_TARGET_TRIPLES), \
- $(eval $(call DEF_DOC_TEST_HOST,$(host))))
- ######################################################################
- # Rules for the test runners
- ######################################################################
- define TEST_STAGEN
- # All the per-stage build rules you might want to call from the
- # command line.
- #
- # $(1) is the stage number
- # $(2) is the target triple to test
- # $(3) is the host triple to test
- # Prerequisites for compiletest tests
- TEST_SREQ$(1)_T_$(2)_H_$(3) = \
- $$(HBIN$(1)_H_$(3))/compiletest$$(X) \
- $$(SREQ$(1)_T_$(2)_H_$(3))
- # Prerequisites for compiletest tests that have deps on librustc, etc
- FULL_TEST_SREQ$(1)_T_$(2)_H_$(3) = \
- $$(HBIN$(1)_H_$(3))/compiletest$$(X) \
- $$(SREQ$(1)_T_$(2)_H_$(3)) \
- $$(TLIBRUSTC_DEFAULT$(1)_T_$(2)_H_$(3))
- check-stage$(1)-T-$(2)-H-$(3): \
- check-stage$(1)-T-$(2)-H-$(3)-rustc \
- check-stage$(1)-T-$(2)-H-$(3)-core \
- check-stage$(1)-T-$(2)-H-$(3)-std \
- check-stage$(1)-T-$(2)-H-$(3)-rpass \
- check-stage$(1)-T-$(2)-H-$(3)-rpass-full \
- check-stage$(1)-T-$(2)-H-$(3)-rfail \
- check-stage$(1)-T-$(2)-H-$(3)-cfail \
- check-stage$(1)-T-$(2)-H-$(3)-bench \
- check-stage$(1)-T-$(2)-H-$(3)-pretty \
- check-stage$(1)-T-$(2)-H-$(3)-rustdoc \
- check-stage$(1)-T-$(2)-H-$(3)-rusti \
- check-stage$(1)-T-$(2)-H-$(3)-cargo \
- check-stage$(1)-T-$(2)-H-$(3)-doc \
- check-stage$(1)-T-$(2)-H-$(3)-doc: \
- check-stage$(1)-T-$(2)-H-$(3)-doc-tutorial \
- check-stage$(1)-T-$(2)-H-$(3)-doc-tutorial-ffi \
- check-stage$(1)-T-$(2)-H-$(3)-doc-tutorial-macros \
- check-stage$(1)-T-$(2)-H-$(3)-doc-tutorial-borrowed-ptr \
- check-stage$(1)-T-$(2)-H-$(3)-doc-tutorial-tasks \
- check-stage$(1)-T-$(2)-H-$(3)-doc-ref
- check-stage$(1)-T-$(2)-H-$(3)-core: \
- check-stage$(1)-T-$(2)-H-$(3)-core-dummy
- check-stage$(1)-T-$(2)-H-$(3)-std: \
- check-stage$(1)-T-$(2)-H-$(3)-std-dummy
- check-stage$(1)-T-$(2)-H-$(3)-rustc: \
- check-stage$(1)-T-$(2)-H-$(3)-rustc-dummy
- check-stage$(1)-T-$(2)-H-$(3)-cfail: \
- check-stage$(1)-T-$(2)-H-$(3)-cfail-dummy
- check-stage$(1)-T-$(2)-H-$(3)-rfail: \
- check-stage$(1)-T-$(2)-H-$(3)-rfail-dummy
- check-stage$(1)-T-$(2)-H-$(3)-rpass: \
- check-stage$(1)-T-$(2)-H-$(3)-rpass-dummy
- check-stage$(1)-T-$(2)-H-$(3)-rpass-full: \
- check-stage$(1)-T-$(2)-H-$(3)-rpass-full-dummy
- check-stage$(1)-T-$(2)-H-$(3)-bench: \
- check-stage$(1)-T-$(2)-H-$(3)-bench-dummy
- check-stage$(1)-T-$(2)-H-$(3)-perf: \
- check-stage$(1)-T-$(2)-H-$(3)-perf-dummy
- check-stage$(1)-T-$(2)-H-$(3)-pretty: \
- check-stage$(1)-T-$(2)-H-$(3)-pretty-rpass \
- check-stage$(1)-T-$(2)-H-$(3)-pretty-rpass-full \
- check-stage$(1)-T-$(2)-H-$(3)-pretty-rfail \
- check-stage$(1)-T-$(2)-H-$(3)-pretty-bench \
- check-stage$(1)-T-$(2)-H-$(3)-pretty-pretty
- check-stage$(1)-T-$(2)-H-$(3)-pretty-rpass: \
- check-stage$(1)-T-$(2)-H-$(3)-pretty-rpass-dummy
- check-stage$(1)-T-$(2)-H-$(3)-pretty-rpass-full: \
- check-stage$(1)-T-$(2)-H-$(3)-pretty-rpass-full-dummy
- check-stage$(1)-T-$(2)-H-$(3)-pretty-rfail: \
- check-stage$(1)-T-$(2)-H-$(3)-pretty-rfail-dummy
- check-stage$(1)-T-$(2)-H-$(3)-pretty-bench: \
- check-stage$(1)-T-$(2)-H-$(3)-pretty-bench-dummy
- check-stage$(1)-T-$(2)-H-$(3)-pretty-pretty: \
- check-stage$(1)-T-$(2)-H-$(3)-pretty-pretty-dummy
- check-stage$(1)-T-$(2)-H-$(3)-rustdoc: \
- check-stage$(1)-T-$(2)-H-$(3)-rustdoc-dummy
- check-stage$(1)-T-$(2)-H-$(3)-rusti: \
- check-stage$(1)-T-$(2)-H-$(3)-rusti-dummy
- check-stage$(1)-T-$(2)-H-$(3)-cargo: \
- check-stage$(1)-T-$(2)-H-$(3)-cargo-dummy
- check-stage$(1)-T-$(2)-H-$(3)-doc-tutorial: \
- check-stage$(1)-T-$(2)-H-$(3)-doc-tutorial-dummy
- check-stage$(1)-T-$(2)-H-$(3)-doc-tutorial-ffi: \
- check-stage$(1)-T-$(2)-H-$(3)-doc-tutorial-ffi-dummy
- check-stage$(1)-T-$(2)-H-$(3)-doc-tutorial-macros: \
- check-stage$(1)-T-$(2)-H-$(3)-doc-tutorial-macros-dummy
- check-stage$(1)-T-$(2)-H-$(3)-doc-tutorial-borrowed-ptr: \
- check-stage$(1)-T-$(2)-H-$(3)-doc-tutorial-borrowed-ptr-dummy
- check-stage$(1)-T-$(2)-H-$(3)-doc-tutorial-tasks: \
- check-stage$(1)-T-$(2)-H-$(3)-doc-tutorial-tasks-dummy
- check-stage$(1)-T-$(2)-H-$(3)-doc-ref: \
- check-stage$(1)-T-$(2)-H-$(3)-doc-ref-dummy
- # Rules for the core library test runner
- $(3)/test/coretest.stage$(1)-$(2)$$(X): \
- $$(CORELIB_CRATE) $$(CORELIB_INPUTS) \
- $$(SREQ$(1)_T_$(2)_H_$(3))
- @$$(call E, compile_and_link: $$@)
- $$(STAGE$(1)_T_$(2)_H_$(3)) -o $$@ $$< --test
- check-stage$(1)-T-$(2)-H-$(3)-core-dummy: \
- $(3)/test/coretest.stage$(1)-$(2)$$(X)
- @$$(call E, run: $$<)
- $$(Q)$$(call CFG_RUN_TEST,$$<,$(2),$(3)) $$(TESTARGS) \
- --logfile tmp/check-stage$(1)-T-$(2)-H-$(3)-core.log
- # Rules for the standard library test runner
- $(3)/test/stdtest.stage$(1)-$(2)$$(X): \
- $$(STDLIB_CRATE) $$(STDLIB_INPUTS) \
- $$(SREQ$(1)_T_$(2)_H_$(3))
- @$$(call E, compile_and_link: $$@)
- $$(STAGE$(1)_T_$(2)_H_$(3)) -o $$@ $$< --test
- check-stage$(1)-T-$(2)-H-$(3)-std-dummy: \
- $(3)/test/stdtest.stage$(1)-$(2)$$(X)
- @$$(call E, run: $$<)
- $$(Q)$$(call CFG_RUN_TEST,$$<,$(2),$(3)) $$(TESTARGS) \
- --logfile tmp/check-stage$(1)-T-$(2)-H-$(3)-std.log
- # Rules for the rustc test runner
- $(3)/test/rustctest.stage$(1)-$(2)$$(X): \
- $$(COMPILER_CRATE) \
- $$(COMPILER_INPUTS) \
- $$(SREQ$(1)_T_$(2)_H_$(3)) \
- $$(TLIB$(1)_T_$(2)_H_$(3))/$$(CFG_RUSTLLVM) \
- $$(TLIB$(1)_T_$(2)_H_$(3))/$$(CFG_LIBSYNTAX)
- @$$(call E, compile_and_link: $$@)
- $$(STAGE$(1)_T_$(2)_H_$(3)) -o $$@ $$< --test
- check-stage$(1)-T-$(2)-H-$(3)-rustc-dummy: \
- $(3)/test/rustctest.stage$(1)-$(2)$$(X)
- @$$(call E, run: $$<)
- $$(Q)$$(call CFG_RUN_TEST,$$<,$(2),$(3)) $$(TESTARGS) \
- --logfile tmp/check-stage$(1)-T-$(2)-H-$(3)-rustc.log
- # Rules for the rustdoc test runner
- $(3)/test/rustdoctest.stage$(1)-$(2)$$(X): \
- $$(RUSTDOC_LIB) $$(RUSTDOC_INPUTS) \
- $$(TSREQ$(1)_T_$(2)_H_$(3)) \
- $$(TLIB$(1)_T_$(2)_H_$(3))/$$(CFG_CORELIB) \
- $$(TLIB$(1)_T_$(2)_H_$(3))/$$(CFG_STDLIB) \
- $$(TLIB$(1)_T_$(2)_H_$(3))/$$(CFG_LIBRUSTC)
- @$$(call E, compile_and_link: $$@)
- $$(STAGE$(1)_T_$(2)_H_$(3)) -o $$@ $$< --test
- check-stage$(1)-T-$(2)-H-$(3)-rustdoc-dummy: \
- $(3)/test/rustdoctest.stage$(1)-$(2)$$(X)
- @$$(call E, run: $$<)
- $$(Q)$$(call CFG_RUN_TEST,$$<,$(2),$(3)) $$(TESTARGS) \
- --logfile tmp/check-stage$(1)-T-$(2)-H-$(3)-rustdoc.log
- # Rules for the rusti test runner
- $(3)/test/rustitest.stage$(1)-$(2)$$(X): \
- $$(RUSTI_LIB) $$(RUSTI_INPUTS) \
- $$(TSREQ$(1)_T_$(2)_H_$(3)) \
- $$(TLIB$(1)_T_$(2)_H_$(3))/$$(CFG_CORELIB) \
- $$(TLIB$(1)_T_$(2)_H_$(3))/$$(CFG_STDLIB) \
- $$(TLIB$(1)_T_$(2)_H_$(3))/$$(CFG_LIBRUSTC)
- @$$(call E, compile_and_link: $$@)
- $$(STAGE$(1)_T_$(2)_H_$(3)) -o $$@ $$< --test
- check-stage$(1)-T-$(2)-H-$(3)-rusti-dummy: \
- $(3)/test/rustitest.stage$(1)-$(2)$$(X)
- @$$(call E, run: $$<)
- $$(Q)$$(call CFG_RUN_TEST,$$<,$(2),$(3)) $$(TESTARGS) \
- --logfile tmp/check-stage$(1)-T-$(2)-H-$(3)-rusti.log
- # Rules for the cargo test runner
- $(3)/test/cargotest.stage$(1)-$(2)$$(X): \
- $$(CARGO_LIB) $$(CARGO_INPUTS) \
- $$(TSREQ$(1)_T_$(2)_H_$(3)) \
- $$(TLIB$(1)_T_$(2)_H_$(3))/$$(CFG_CORELIB) \
- $$(TLIB$(1)_T_$(2)_H_$(3))/$$(CFG_STDLIB) \
- $$(TLIB$(1)_T_$(2)_H_$(3))/$$(CFG_LIBRUSTC)
- @$$(call E, compile_and_link: $$@)
- $$(STAGE$(1)_T_$(2)_H_$(3)) -o $$@ $$< --test
- check-stage$(1)-T-$(2)-H-$(3)-cargo-dummy: \
- $(3)/test/cargotest.stage$(1)-$(2)$$(X)
- @$$(call E, run: $$<)
- $$(Q)$$(call CFG_RUN_TEST,$$<,$(2),$(3)) $$(TESTARGS) \
- --logfile tmp/check-stage$(1)-T-$(2)-H-$(3)-cargo.log
- # Rules for the cfail/rfail/rpass/bench/perf test runner
- CTEST_COMMON_ARGS$(1)-T-$(2)-H-$(3) := \
- --compile-lib-path $$(HLIB$(1)_H_$(3)) \
- --run-lib-path $$(TLIB$(1)_T_$(2)_H_$(3)) \
- --rustc-path $$(HBIN$(1)_H_$(3))/rustc$$(X) \
- --aux-base $$(S)src/test/auxiliary/ \
- --stage-id stage$(1)-$(2) \
- --rustcflags "$$(CFG_RUSTC_FLAGS) --target=$(2)" \
- $$(CTEST_TESTARGS)
- CFAIL_ARGS$(1)-T-$(2)-H-$(3) := \
- $$(CTEST_COMMON_ARGS$(1)-T-$(2)-H-$(3)) \
- --src-base $$(S)src/test/compile-fail/ \
- --build-base $(3)/test/compile-fail/ \
- --mode compile-fail
- RFAIL_ARGS$(1)-T-$(2)-H-$(3) := \
- $$(CTEST_COMMON_ARGS$(1)-T-$(2)-H-$(3)) \
- --src-base $$(S)src/test/run-fail/ \
- --build-base $(3)/test/run-fail/ \
- --mode run-fail \
- $$(CTEST_RUNTOOL)
- RPASS_ARGS$(1)-T-$(2)-H-$(3) := \
- $$(CTEST_COMMON_ARGS$(1)-T-$(2)-H-$(3)) \
- --src-base $$(S)src/test/run-pass/ \
- --build-base $(3)/test/run-pass/ \
- --mode run-pass \
- $$(CTEST_RUNTOOL)
- RPASS_FULL_ARGS$(1)-T-$(2)-H-$(3) := \
- $$(CTEST_COMMON_ARGS$(1)-T-$(2)-H-$(3)) \
- --src-base $$(S)src/test/run-pass-fulldeps/ \
- --build-base $(3)/test/run-pass-fulldeps/ \
- --mode run-pass \
- $$(CTEST_RUNTOOL)
- BENCH_ARGS$(1)-T-$(2)-H-$(3) := \
- $$(CTEST_COMMON_ARGS$(1)-T-$(2)-H-$(3)) \
- --src-base $$(S)src/test/bench/ \
- --build-base $(3)/test/bench/ \
- --mode run-pass \
- $$(CTEST_RUNTOOL)
- PERF_ARGS$(1)-T-$(2)-H-$(3) := \
- $$(CTEST_COMMON_ARGS$(1)-T-$(2)-H-$(3)) \
- --src-base $$(S)src/test/bench/ \
- --build-base $(3)/test/perf/ \
- --mode run-pass \
- $$(CTEST_PERF_RUNTOOL)
- PRETTY_RPASS_ARGS$(1)-T-$(2)-H-$(3) := \
- $$(CTEST_COMMON_ARGS$(1)-T-$(2)-H-$(3)) \
- --src-base $$(S)src/test/run-pass/ \
- --build-base $(3)/test/run-pass/ \
- --mode pretty
- PRETTY_RPASS_FULL_ARGS$(1)-T-$(2)-H-$(3) := \
- $$(CTEST_COMMON_ARGS$(1)-T-$(2)-H-$(3)) \
- --src-base $$(S)src/test/run-pass-fulldeps/ \
- --build-base $(3)/test/run-pass-fulldeps/ \
- --mode pretty
- PRETTY_RFAIL_ARGS$(1)-T-$(2)-H-$(3) := \
- $$(CTEST_COMMON_ARGS$(1)-T-$(2)-H-$(3)) \
- --src-base $$(S)src/test/run-fail/ \
- --build-base $(3)/test/run-fail/ \
- --mode pretty
- PRETTY_BENCH_ARGS$(1)-T-$(2)-H-$(3) := \
- $$(CTEST_COMMON_ARGS$(1)-T-$(2)-H-$(3)) \
- --src-base $$(S)src/test/bench/ \
- --build-base $(3)/test/bench/ \
- --mode pretty
- PRETTY_PRETTY_ARGS$(1)-T-$(2)-H-$(3) := \
- $$(CTEST_COMMON_ARGS$(1)-T-$(2)-H-$(3)) \
- --src-base $$(S)src/test/pretty/ \
- --build-base $(3)/test/pretty/ \
- --mode pretty
- DOC_TUTORIAL_ARGS$(1)-T-$(2)-H-$(3) := \
- $$(CTEST_COMMON_ARGS$(1)-T-$(2)-H-$(3)) \
- --src-base $(3)/test/doc-tutorial/ \
- --build-base $(3)/test/doc-tutorial/ \
- --mode run-pass
- DOC_TUTORIAL_FFI_ARGS$(1)-T-$(2)-H-$(3) := \
- $$(CTEST_COMMON_ARGS$(1)-T-$(2)-H-$(3)) \
- --src-base $(3)/test/doc-tutorial-ffi/ \
- --build-base $(3)/test/doc-tutorial-ffi/ \
- --mode run-pass
- DOC_TUTORIAL_MACROS_ARGS$(1)-T-$(2)-H-$(3) := \
- $$(CTEST_COMMON_ARGS$(1)-T-$(2)-H-$(3)) \
- --src-base $(3)/test/doc-tutorial-macros/ \
- --build-base $(3)/test/doc-tutorial-macros/ \
- --mode run-pass
- DOC_TUTORIAL_BORROWED_PTR_ARGS$(1)-T-$(2)-H-$(3) := \
- $$(CTEST_COMMON_ARGS$(1)-T-$(2)-H-$(3)) \
- --src-base $(3)/test/doc-tutorial-borrowed-ptr/ \
- --build-base $(3)/test/doc-tutorial-borrowed-ptr/ \
- --mode run-pass
- DOC_TUTORIAL_TASKS_ARGS$(1)-T-$(2)-H-$(3) := \
- $$(CTEST_COMMON_ARGS$(1)-T-$(2)-H-$(3)) \
- --src-base $(3)/test/doc-tutorial-tasks/ \
- --build-base $(3)/test/doc-tutorial-tasks/ \
- --mode run-pass
- DOC_REF_ARGS$(1)-T-$(2)-H-$(3) := \
- $$(CTEST_COMMON_ARGS$(1)-T-$(2)-H-$(3)) \
- --src-base $(3)/test/doc-ref/ \
- --build-base $(3)/test/doc-ref/ \
- --mode run-pass
- check-stage$(1)-T-$(2)-H-$(3)-cfail-dummy: \
- $$(TEST_SREQ$(1)_T_$(2)_H_$(3)) \
- $$(CFAIL_TESTS)
- @$$(call E, run cfail: $$<)
- $$(Q)$$(call CFG_RUN_CTEST,$(1),$$<,$(3)) \
- $$(CFAIL_ARGS$(1)-T-$(2)-H-$(3)) \
- --logfile tmp/check-stage$(1)-T-$(2)-H-$(3)-cfail.log
- check-stage$(1)-T-$(2)-H-$(3)-rfail-dummy: \
- $$(TEST_SREQ$(1)_T_$(2)_H_$(3)) \
- $$(RFAIL_TESTS)
- @$$(call E, run rfail: $$<)
- $$(Q)$$(call CFG_RUN_CTEST,$(1),$$<,$(3)) \
- $$(RFAIL_ARGS$(1)-T-$(2)-H-$(3)) \
- --logfile tmp/check-stage$(1)-T-$(2)-H-$(3)-rfail.log
- check-stage$(1)-T-$(2)-H-$(3)-rpass-dummy: \
- $$(TEST_SREQ$(1)_T_$(2)_H_$(3)) \
- $$(RPASS_TESTS)
- @$$(call E, run rpass-full: $$<)
- $$(Q)$$(call CFG_RUN_CTEST,$(1),$$<,$(3)) \
- $$(RPASS_ARGS$(1)-T-$(2)-H-$(3)) \
- --logfile tmp/check-stage$(1)-T-$(2)-H-$(3)-rpass.log
- check-stage$(1)-T-$(2)-H-$(3)-rpass-full-dummy: \
- $$(FULL_TEST_SREQ$(1)_T_$(2)_H_$(3)) \
- $$(RPASS_FULL_TESTS)
- @$$(call E, run rpass: $$<)
- $$(Q)$$(call CFG_RUN_CTEST,$(1),$$<,$(3)) \
- $$(RPASS_FULL_ARGS$(1)-T-$(2)-H-$(3)) \
- --logfile tmp/check-stage$(1)-T-$(2)-H-$(3)-rpass-full.log
- check-stage$(1)-T-$(2)-H-$(3)-bench-dummy: \
- $$(TEST_SREQ$(1)_T_$(2)_H_$(3)) \
- $$(BENCH_TESTS)
- @$$(call E, run bench: $$<)
- $$(Q)$$(call CFG_RUN_CTEST,$(1),$$<,$(3)) \
- $$(BENCH_ARGS$(1)-T-$(2)-H-$(3)) \
- --logfile tmp/check-stage$(1)-T-$(2)-H-$(3)-bench.log
- check-stage$(1)-T-$(2)-H-$(3)-perf-dummy: \
- $$(TEST_SREQ$(1)_T_$(2)_H_$(3)) \
- $$(BENCH_TESTS)
- @$$(call E, perf: $$<)
- $$(Q)$$(call CFG_RUN_CTEST,$(1),$$<,$(3)) \
- $$(PERF_ARGS$(1)-T-$(2)-H-$(3)) \
- --logfile tmp/check-stage$(1)-T-$(2)-H-$(3)-perf.log
- check-stage$(1)-T-$(2)-H-$(3)-pretty-rpass-dummy: \
- $$(TEST_SREQ$(1)_T_$(2)_H_$(3)) \
- $$(RPASS_TESTS)
- @$$(call E, run pretty-rpass: $$<)
- $$(Q)$$(call CFG_RUN_CTEST,$(1),$$<,$(3)) \
- $$(PRETTY_RPASS_ARGS$(1)-T-$(2)-H-$(3)) \
- --logfile tmp/check-stage$(1)-T-$(2)-H-$(3)-pretty-rpass.log
- check-stage$(1)-T-$(2)-H-$(3)-pretty-rpass-full-dummy: \
- $$(FULL_TEST_SREQ$(1)_T_$(2)_H_$(3)) \
- $$(RPASS_FULL_TESTS)
- @$$(call E, run pretty-rpass-full: $$<)
- $$(Q)$$(call CFG_RUN_CTEST,$(1),$$<,$(3)) \
- $$(PRETTY_RPASS_FULL_ARGS$(1)-T-$(2)-H-$(3)) \
- --logfile tmp/check-stage$(1)-T-$(2)-H-$(3)-pretty-rpass-full.log
- check-stage$(1)-T-$(2)-H-$(3)-pretty-rfail-dummy: \
- $$(TEST_SREQ$(1)_T_$(2)_H_$(3)) \
- $$(RFAIL_TESTS)
- @$$(call E, run pretty-rfail: $$<)
- $$(Q)$$(call CFG_RUN_CTEST,$(1),$$<,$(3)) \
- $$(PRETTY_RFAIL_ARGS$(1)-T-$(2)-H-$(3)) \
- --logfile tmp/check-stage$(1)-T-$(2)-H-$(3)-pretty-rfail.log
- check-stage$(1)-T-$(2)-H-$(3)-pretty-bench-dummy: \
- $$(TEST_SREQ$(1)_T_$(2)_H_$(3)) \
- $$(BENCH_TESTS)
- @$$(call E, run pretty-bench: $$<)
- $$(Q)$$(call CFG_RUN_CTEST,$(1),$$<,$(3)) \
- $$(PRETTY_BENCH_ARGS$(1)-T-$(2)-H-$(3)) \
- --logfile tmp/check-stage$(1)-T-$(2)-H-$(3)-pretty-bench.log
- check-stage$(1)-T-$(2)-H-$(3)-pretty-pretty-dummy: \
- $$(TEST_SREQ$(1)_T_$(2)_H_$(3)) \
- $$(PRETTY_TESTS)
- @$$(call E, run pretty-pretty: $$<)
- $$(Q)$$(call CFG_RUN_CTEST,$(1),$$<,$(3)) \
- $$(PRETTY_PRETTY_ARGS$(1)-T-$(2)-H-$(3)) \
- --logfile tmp/check-stage$(1)-T-$(2)-H-$(3)-pretty-pretty.log
- check-stage$(1)-T-$(2)-H-$(3)-doc-tutorial-dummy: \
- $$(TEST_SREQ$(1)_T_$(2)_H_$(3)) \
- doc-tutorial-extract$(3)
- @$$(call E, run doc-tutorial: $$<)
- $$(Q)$$(call CFG_RUN_CTEST,$(1),$$<,$(3)) \
- $$(DOC_TUTORIAL_ARGS$(1)-T-$(2)-H-$(3)) \
- --logfile tmp/check-stage$(1)-T-$(2)-H-$(3)-doc-tutorial.log
- check-stage$(1)-T-$(2)-H-$(3)-doc-tutorial-ffi-dummy: \
- $$(TEST_SREQ$(1)_T_$(2)_H_$(3)) \
- doc-tutorial-ffi-extract$(3)
- @$$(call E, run doc-tutorial-ffi: $$<)
- $$(Q)$$(call CFG_RUN_CTEST,$(1),$$<,$(3)) \
- $$(DOC_TUTORIAL_FFI_ARGS$(1)-T-$(2)-H-$(3)) \
- --logfile tmp/check-stage$(1)-T-$(2)-H-$(3)-doc-tutorial-ffi.log
- check-stage$(1)-T-$(2)-H-$(3)-doc-tutorial-macros-dummy: \
- $$(TEST_SREQ$(1)_T_$(2)_H_$(3)) \
- doc-tutorial-macros-extract$(3)
- @$$(call E, run doc-tutorial-macros: $$<)
- $$(Q)$$(call CFG_RUN_CTEST,$(1),$$<,$(3)) \
- $$(DOC_TUTORIAL_MACROS_ARGS$(1)-T-$(2)-H-$(3)) \
- --logfile tmp/check-stage$(1)-T-$(2)-H-$(3)-doc-tutorial-macros.log
- check-stage$(1)-T-$(2)-H-$(3)-doc-tutorial-borrowed-ptr-dummy: \
- $$(TEST_SREQ$(1)_T_$(2)_H_$(3)) \
- doc-tutorial-borrowed-ptr-extract$(3)
- @$$(call E, run doc-tutorial-borrowed-ptr: $$<)
- $$(Q)$$(call CFG_RUN_CTEST,$(1),$$<,$(3)) \
- $$(DOC_TUTORIAL_BORROWED_PTR_ARGS$(1)-T-$(2)-H-$(3)) \
- --logfile tmp/check-stage$(1)-T-$(2)-H-$(3)-doc-tutorial-borrowed-ptr.log
- check-stage$(1)-T-$(2)-H-$(3)-doc-tutorial-tasks-dummy: \
- $$(TEST_SREQ$(1)_T_$(2)_H_$(3)) \
- doc-tutorial-tasks-extract$(3)
- @$$(call E, run doc-tutorial-tasks: $$<)
- $$(Q)$$(call CFG_RUN_CTEST,$(1),$$<,$(3)) \
- $$(DOC_TUTORIAL_TASKS_ARGS$(1)-T-$(2)-H-$(3)) \
- --logfile tmp/check-stage$(1)-T-$(2)-H-$(3)-doc-tutorial-tasks.log
- check-stage$(1)-T-$(2)-H-$(3)-doc-ref-dummy: \
- $$(TEST_SREQ$(1)_T_$(2)_H_$(3)) \
- doc-ref-extract$(3)
- @$$(call E, run doc-ref: $$<)
- $$(Q)$$(call CFG_RUN_CTEST,$(1),$$<,$(3)) \
- $$(DOC_REF_ARGS$(1)-T-$(2)-H-$(3)) \
- --logfile tmp/check-stage$(1)-T-$(2)-H-$(3)-doc-ref.log
- endef
- # Instantiate the template for stage 0, 1, 2, 3
- $(foreach host,$(CFG_TARGET_TRIPLES), \
- $(eval $(foreach target,$(CFG_TARGET_TRIPLES), \
- $(eval $(foreach stage,$(STAGES), \
- $(eval $(call TEST_STAGEN,$(stage),$(target),$(host))))))))
- ######################################################################
- # Fast-test rules
- ######################################################################
- GENERATED += tmp/$(FT).rc tmp/$(FT_DRIVER).rs
- tmp/$(FT).rc tmp/$(FT_DRIVER).rs: \
- $(RPASS_TESTS) \
- $(S)src/etc/combine-tests.py
- @$(call E, check: building combined stage2 test runner)
- $(Q)$(S)src/etc/combine-tests.py
- define DEF_CHECK_FAST_FOR_T_H
- # $(1) unused
- # $(2) target triple
- # $(3) host triple
- $$(TLIB2_T_$(2)_H_$(3))/$$(FT_LIB): \
- tmp/$$(FT).rc \
- $$(SREQ2_T_$(2)_H_$(3))
- @$$(call E, compile_and_link: $$@)
- $$(STAGE2_T_$(2)_H_$(3)) --lib -o $$@ $$<
- $(3)/test/$$(FT_DRIVER)-$(2)$$(X): \
- tmp/$$(FT_DRIVER).rs \
- $$(TLIB2_T_$(2)_H_$(3))/$$(FT_LIB) \
- $$(SREQ2_T_$(2)_H_$(3))
- @$$(call E, compile_and_link: $$@ $$<)
- $$(STAGE2_T_$(2)_H_$(3)) -o $$@ $$<
- $(3)/test/$$(FT_DRIVER)-$(2).out: \
- $(3)/test/$$(FT_DRIVER)-$(2)$$(X) \
- $$(SREQ2_T_$(2)_H_$(3))
- $$(Q)$$(call CFG_RUN_TEST,$$<,$(2),$(3)) \
- --logfile tmp/$$(FT_DRIVER)-$(2).log
- check-fast-T-$(2)-H-$(3): \
- check-stage2-T-$(2)-H-$(3)-rustc \
- check-stage2-T-$(2)-H-$(3)-core \
- check-stage2-T-$(2)-H-$(3)-std \
- $(3)/test/$$(FT_DRIVER)-$(2).out
- endef
- $(foreach host,$(CFG_TARGET_TRIPLES), \
- $(eval $(foreach target,$(CFG_TARGET_TRIPLES), \
- $(eval $(call DEF_CHECK_FAST_FOR_T_H,,$(target),$(host))))))
- ######################################################################
- # Shortcut rules
- ######################################################################
- define DEF_CHECK_FOR_STAGE_H
- check-stage$(1)-H-$(2): \
- $$(foreach target,$$(CFG_TARGET_TRIPLES), \
- check-stage$(1)-T-$$(target)-H-$(2))
- check-stage$(1)-H-$(2)-perf: \
- $$(foreach target,$$(CFG_TARGET_TRIPLES), \
- check-stage$(1)-T-$$(target)-H-$(2)-perf)
- check-stage$(1)-H-$(2)-rustc: \
- $$(foreach target,$$(CFG_TARGET_TRIPLES), \
- check-stage$(1)-T-$$(target)-H-$(2)-rustc)
- check-stage$(1)-H-$(2)-core: \
- $$(foreach target,$$(CFG_TARGET_TRIPLES), \
- check-stage$(1)-T-$$(target)-H-$(2)-core)
- check-stage$(1)-H-$(2)-std: \
- $$(foreach target,$$(CFG_TARGET_TRIPLES), \
- check-stage$(1)-T-$$(target)-H-$(2)-std)
- check-stage$(1)-H-$(2)-rpass: \
- $$(foreach target,$$(CFG_TARGET_TRIPLES), \
- check-stage$(1)-T-$$(target)-H-$(2)-rpass)
- check-stage$(1)-H-$(2)-rpass-full: \
- $$(foreach target,$$(CFG_TARGET_TRIPLES), \
- check-stage$(1)-T-$$(target)-H-$(2)-rpass-full)
- check-stage$(1)-H-$(2)-rfail: \
- $$(foreach target,$$(CFG_TARGET_TRIPLES), \
- check-stage$(1)-T-$$(target)-H-$(2)-rfail)
- check-stage$(1)-H-$(2)-cfail: \
- $$(foreach target,$$(CFG_TARGET_TRIPLES), \
- check-stage$(1)-T-$$(target)-H-$(2)-cfail)
- check-stage$(1)-H-$(2)-bench: \
- $$(foreach target,$$(CFG_TARGET_TRIPLES), \
- check-stage$(1)-T-$$(target)-H-$(2)-bench)
- check-stage$(1)-H-$(2)-pretty: \
- $$(foreach target,$$(CFG_TARGET_TRIPLES), \
- check-stage$(1)-T-$$(target)-H-$(2)-pretty)
- check-stage$(1)-H-$(2)-pretty-rpass: \
- $$(foreach target,$$(CFG_TARGET_TRIPLES), \
- check-stage$(1)-T-$$(target)-H-$(2)-pretty-rpass)
- check-stage$(1)-H-$(2)-pretty-rpass-full: \
- $$(foreach target,$$(CFG_TARGET_TRIPLES), \
- check-stage$(1)-T-$$(target)-H-$(2)-pretty-rpass-full)
- check-stage$(1)-H-$(2)-pretty-rfail: \
- $$(foreach target,$$(CFG_TARGET_TRIPLES), \
- check-stage$(1)-T-$$(target)-H-$(2)-pretty-rfail)
- check-stage$(1)-H-$(2)-pretty-bench: \
- $$(foreach target,$$(CFG_TARGET_TRIPLES), \
- check-stage$(1)-T-$$(target)-H-$(2)-pretty-bench)
- check-stage$(1)-H-$(2)-pretty-pretty: \
- $$(foreach target,$$(CFG_TARGET_TRIPLES), \
- check-stage$(1)-T-$$(target)-H-$(2)-pretty-pretty)
- check-stage$(1)-H-$(2)-rustdoc: \
- $$(foreach target,$$(CFG_TARGET_TRIPLES), \
- check-stage$(1)-T-$$(target)-H-$(2)-rustdoc)
- check-stage$(1)-H-$(2)-rusti: \
- $$(foreach target,$$(CFG_TARGET_TRIPLES), \
- check-stage$(1)-T-$$(target)-H-$(2)-rusti)
- check-stage$(1)-H-$(2)-cargo: \
- $$(foreach target,$$(CFG_TARGET_TRIPLES), \
- check-stage$(1)-T-$$(target)-H-$(2)-cargo)
- check-stage$(1)-H-$(2)-doc: \
- $$(foreach target,$$(CFG_TARGET_TRIPLES), \
- check-stage$(1)-T-$$(target)-H-$(2)-doc)
- check-stage$(1)-H-$(2)-doc-tutorial: \
- $$(foreach target,$$(CFG_TARGET_TRIPLES), \
- check-stage$(1)-T-$$(target)-H-$(2)-doc-tutorial)
- check-stage$(1)-H-$(2)-doc-tutorial-ffi: \
- $$(foreach target,$$(CFG_TARGET_TRIPLES), \
- check-stage$(1)-T-$$(target)-H-$(2)-doc-tutorial-ffi)
- check-stage$(1)-H-$(2)-doc-tutorial-macros: \
- $$(foreach target,$$(CFG_TARGET_TRIPLES), \
- check-stage$(1)-T-$$(target)-H-$(2)-doc-tutorial-macros)
- check-stage$(1)-H-$(2)-doc-tutorial-borrowed-ptr: \
- $$(foreach target,$$(CFG_TARGET_TRIPLES), \
- check-stage$(1)-T-$$(target)-H-$(2)-doc-tutorial-borrowed-ptr)
- check-stage$(1)-H-$(2)-doc-tutorial-tasks: \
- $$(foreach target,$$(CFG_TARGET_TRIPLES), \
- check-stage$(1)-T-$$(target)-H-$(2)-doc-tutorial-tasks)
- check-stage$(1)-H-$(2)-doc-ref: \
- $$(foreach target,$$(CFG_TARGET_TRIPLES), \
- check-stage$(1)-T-$$(target)-H-$(2)-doc-ref)
- endef
- $(foreach stage,$(STAGES), \
- $(eval $(foreach target,$(CFG_TARGET_TRIPLES), \
- $(eval $(call DEF_CHECK_FOR_STAGE_H,$(stage),$(target))))))
- define DEF_CHECK_FAST_FOR_H
- check-fast-H-$(1): check-fast-T-$(1)-H-$(1)
- endef
- $(foreach target,$(CFG_TARGET_TRIPLES), \
- $(eval $(call DEF_CHECK_FAST_FOR_H,$(target))))
- define DEF_CHECK_ALL_FOR_STAGE
- check-stage$(1)-H-all: \
- $$(foreach target,$$(CFG_TARGET_TRIPLES), \
- check-stage$(1)-H-$$(target))
- check-stage$(1)-H-all-perf: \
- $$(foreach target,$$(CFG_TARGET_TRIPLES), \
- check-stage$(1)-H-$$(target)-perf)
- check-stage$(1)-H-all-rustc: \
- $$(foreach target,$$(CFG_TARGET_TRIPLES), \
- check-stage$(1)-H-$$(target)-rustc)
- check-stage$(1)-H-all-core: \
- $$(foreach target,$$(CFG_TARGET_TRIPLES), \
- check-stage$(1)-H-$$(target)-core)
- check-stage$(1)-H-all-std: \
- $$(foreach target,$$(CFG_TARGET_TRIPLES), \
- check-stage$(1)-H-$$(target)-std)
- check-stage$(1)-H-all-rpass: \
- $$(foreach target,$$(CFG_TARGET_TRIPLES), \
- check-stage$(1)-H-$$(target)-rpass)
- check-stage$(1)-H-all-rpass-full: \
- $$(foreach target,$$(CFG_TARGET_TRIPLES), \
- check-stage$(1)-H-$$(target)-rpass-full)
- check-stage$(1)-H-all-rfail: \
- $$(foreach target,$$(CFG_TARGET_TRIPLES), \
- check-stage$(1)-H-$$(target)-rfail)
- check-stage$(1)-H-all-cfail: \
- $$(foreach target,$$(CFG_TARGET_TRIPLES), \
- check-stage$(1)-H-$$(target)-cfail)
- check-stage$(1)-H-all-bench: \
- $$(foreach target,$$(CFG_TARGET_TRIPLES), \
- check-stage$(1)-H-$$(target)-bench)
- check-stage$(1)-H-all-pretty: \
- $$(foreach target,$$(CFG_TARGET_TRIPLES), \
- check-stage$(1)-H-$$(target)-pretty)
- check-stage$(1)-H-all-pretty-rpass: \
- $$(foreach target,$$(CFG_TARGET_TRIPLES), \
- check-stage$(1)-H-$$(target)-pretty-rpass)
- check-stage$(1)-H-all-pretty-rpass-full: \
- $$(foreach target,$$(CFG_TARGET_TRIPLES), \
- check-stage$(1)-H-$$(target)-pretty-rpass-full)
- check-stage$(1)-H-all-pretty-rfail: \
- $$(foreach target,$$(CFG_TARGET_TRIPLES), \
- check-stage$(1)-H-$$(target)-pretty-rfail)
- check-stage$(1)-H-all-pretty-bench: \
- $$(foreach target,$$(CFG_TARGET_TRIPLES), \
- check-stage$(1)-H-$$(target)-pretty-bench)
- check-stage$(1)-H-all-pretty-pretty: \
- $$(foreach target,$$(CFG_TARGET_TRIPLES), \
- check-stage$(1)-H-$$(target)-pretty-pretty)
- check-stage$(1)-H-all-rustdoc: \
- $$(foreach target,$$(CFG_TARGET_TRIPLES), \
- check-stage$(1)-H-$$(target)-rustdoc)
- check-stage$(1)-H-all-rusti: \
- $$(foreach target,$$(CFG_TARGET_TRIPLES), \
- check-stage$(1)-H-$$(target)-rusti)
- check-stage$(1)-H-all-cargo: \
- $$(foreach target,$$(CFG_TARGET_TRIPLES), \
- check-stage$(1)-H-$$(target)-cargo)
- check-stage$(1)-H-all-doc-tutorial: \
- $$(foreach target,$$(CFG_TARGET_TRIPLES), \
- check-stage$(1)-H-$$(target)-doc-tutorial)
- check-stage$(1)-H-all-doc-ref: \
- $$(foreach target,$$(CFG_TARGET_TRIPLES), \
- check-stage$(1)-H-$$(target)-doc-ref)
- endef
- $(foreach stage,$(STAGES), \
- $(eval $(call DEF_CHECK_ALL_FOR_STAGE,$(stage))))
- define DEF_CHECK_FOR_STAGE
- check-stage$(1): check-stage$(1)-H-$$(CFG_HOST_TRIPLE)
- check-stage$(1)-perf: check-stage$(1)-H-$$(CFG_HOST_TRIPLE)-perf
- check-stage$(1)-rustc: check-stage$(1)-H-$$(CFG_HOST_TRIPLE)-rustc
- check-stage$(1)-core: check-stage$(1)-H-$$(CFG_HOST_TRIPLE)-core
- check-stage$(1)-std: check-stage$(1)-H-$$(CFG_HOST_TRIPLE)-std
- check-stage$(1)-rpass: check-stage$(1)-H-$$(CFG_HOST_TRIPLE)-rpass
- check-stage$(1)-rpass-full: check-stage$(1)-H-$$(CFG_HOST_TRIPLE)-rpass-full
- check-stage$(1)-rfail: check-stage$(1)-H-$$(CFG_HOST_TRIPLE)-rfail
- check-stage$(1)-cfail: check-stage$(1)-H-$$(CFG_HOST_TRIPLE)-cfail
- check-stage$(1)-bench: check-stage$(1)-H-$$(CFG_HOST_TRIPLE)-bench
- check-stage$(1)-pretty: check-stage$(1)-H-$$(CFG_HOST_TRIPLE)-pretty
- check-stage$(1)-pretty-rpass: check-stage$(1)-H-$$(CFG_HOST_TRIPLE)-pretty-rpass
- check-stage$(1)-pretty-rpass-full: check-stage$(1)-H-$$(CFG_HOST_TRIPLE)-pretty-rpass-full
- check-stage$(1)-pretty-rfail: check-stage$(1)-H-$$(CFG_HOST_TRIPLE)-pretty-rfail
- check-stage$(1)-pretty-bench: check-stage$(1)-H-$$(CFG_HOST_TRIPLE)-pretty-bench
- check-stage$(1)-pretty-pretty: check-stage$(1)-H-$$(CFG_HOST_TRIPLE)-pretty-pretty
- check-stage$(1)-rustdoc: check-stage$(1)-H-$$(CFG_HOST_TRIPLE)-rustdoc
- check-stage$(1)-rusti: check-stage$(1)-H-$$(CFG_HOST_TRIPLE)-rusti
- check-stage$(1)-cargo: check-stage$(1)-H-$$(CFG_HOST_TRIPLE)-cargo
- check-stage$(1)-doc: check-stage$(1)-H-$$(CFG_HOST_TRIPLE)-doc
- check-stage$(1)-doc-tutorial: check-stage$(1)-H-$$(CFG_HOST_TRIPLE)-doc-tutorial
- check-stage$(1)-doc-tutorial-ffi: check-stage$(1)-H-$$(CFG_HOST_TRIPLE)-doc-tutorial-ffi
- check-stage$(1)-doc-tutorial-macros: check-stage$(1)-H-$$(CFG_HOST_TRIPLE)-doc-tutorial-macros
- check-stage$(1)-doc-tutorial-borrowed-ptr: check-stage$(1)-H-$$(CFG_HOST_TRIPLE)-doc-tutorial-borrowed-ptr
- check-stage$(1)-doc-tutorial-tasks: check-stage$(1)-H-$$(CFG_HOST_TRIPLE)-doc-tutorial-tasks
- check-stage$(1)-doc-ref: check-stage$(1)-H-$$(CFG_HOST_TRIPLE)-doc-ref
- endef
- $(foreach stage,$(STAGES), \
- $(eval $(call DEF_CHECK_FOR_STAGE,$(stage))))
- check-fast: tidy check-fast-H-$(CFG_HOST_TRIPLE)