diff --git a/Makefile.in b/Makefile.in index f83ddf76eefa4..ba1879a771327 100644 --- a/Makefile.in +++ b/Makefile.in @@ -31,17 +31,17 @@ # # * uninstall - Uninstall the binaries # -# For hot tips on working with The Rust Build System, just: +# For tips on working with The Rust Build System, just: # -# type `make hot-tips` +# run `make tips` # # Otherwise # -# type `make` +# run `make` # # # -# +# # # # The Rust Build System Tip Line # @@ -52,8 +52,9 @@ # * check-$(crate) - Test a crate, e.g. `check-std` # * check-ref - Run the language reference tests # * check-docs - Test the documentation examples -# -# TODO: Lots more +# * check-stage$(stage)-$(crate) - Test a crate in a specific stage +# * check-stage$(stage)-{rpass,rfail,cfail,rmake,...} - Run tests in src/test/ +# * check-stage1-T-$(target)-H-$(host) - Run cross-compiled-tests # # Then mix in some of these environment variables to harness the # ultimate power of The Rust Build System. @@ -71,7 +72,7 @@ # # * `NO_REBUILD=1` - Don't rebootstrap when testing std # (and possibly other crates) -# * `NO_MKFILE_DEPS=1` - Don rebuild for modified .mk files +# * `NO_MKFILE_DEPS=1` - Don't rebuild for modified .mk files # # * `SAVE_TEMPS=1` - Use `--save-temps` flag on all `rustc` invocations # * `ASM_COMMENTS=1` - Use `-Z asm-comments` @@ -79,17 +80,28 @@ # * `TIME_LLVM_PASSES=1` - Use `-Z time-llvm-passes` # * `TRACE=1` - Use `-Z trace` # +# # Rust recipes for build system success +# +# // Modifying libstd? Use this comment to run unit tests just on your change +# make check-stage1-std NO_REBUILD=1 NO_BENCH=1 +# +# // Added a run-pass test? Use this to test running your test +# make check-stage1-rpass TESTNAME=my-shiny-new-test +# +# // Having trouble figuring out which test is failing? Turn off parallel tests +# make check-stage1-std RUST_TEST_TASKS=1 +# # This is hardly all there is to know of The Rust Build System's # mysteries. The tale continues on the wiki[1][2]. # # [1]: https://github.com/mozilla/rust/wiki/Note-build-system # [2]: https://github.com/mozilla/rust/wiki/Note-testsuite # -# Unless you feel like getting your hands dirty, then: +# If you really feel like getting your hands dirty, then: # -# don't type `make nitty-gritty` +# run `make nitty-gritty` # -# +# # # # diff --git a/configure b/configure index 60d7efc7ac8bf..75514ada973b4 100755 --- a/configure +++ b/configure @@ -1103,5 +1103,5 @@ rm -f config.tmp touch config.stamp step_msg "complete" -msg "type \`make help\`" +msg "run \`make help\`" msg diff --git a/mk/tests.mk b/mk/tests.mk index 049b41ab204d7..8ca4da85994fd 100644 --- a/mk/tests.mk +++ b/mk/tests.mk @@ -194,6 +194,9 @@ check-ref: cleantestlibs cleantmptestlogs check-stage2-rpass \ check-stage2-rfail check-stage2-cfail check-stage2-rmake $(Q)$(CFG_PYTHON) $(S)src/etc/check-summary.py tmp/*.log +check-docs: cleantestlibs cleantmptestlogs check-stage2-docs + $(Q)$(CFG_PYTHON) $(S)src/etc/check-summary.py tmp/*.log + .PHONY: cleantmptestlogs cleantestlibs cleantmptestlogs: @@ -827,6 +830,23 @@ $(foreach stage,$(STAGES), \ $(foreach group,$(TEST_GROUPS), \ $(eval $(call DEF_CHECK_FOR_STAGE_AND_HOSTS_AND_GROUP,$(stage),$(host),$(group)))))) +define DEF_CHECK_DOC_FOR_STAGE +check-stage$(1)-docs: $$(foreach docname,$$(DOC_TEST_NAMES),\ + check-stage$(1)-T-$$(CFG_BUILD)-H-$$(CFG_BUILD)-doc-$$(docname)) \ + $$(foreach crate,$$(DOC_CRATE_NAMES),\ + check-stage$(1)-T-$$(CFG_BUILD)-H-$$(CFG_BUILD)-doc-$$(crate)) +endef + +$(foreach stage,$(STAGES), \ + $(eval $(call DEF_CHECK_DOC_FOR_STAGE,$(stage)))) + +define DEF_CHECK_CRATE +check-$(1): check-stage2-T-$$(CFG_BUILD)-H-$$(CFG_BUILD)-$(1)-exec +endef + +$(foreach crate,$(TEST_CRATES), \ + $(eval $(call DEF_CHECK_CRATE,$(crate)))) + ###################################################################### # check-fast rules ###################################################################### diff --git a/mk/util.mk b/mk/util.mk index 2f113f7622d34..3bbc8f413aec5 100644 --- a/mk/util.mk +++ b/mk/util.mk @@ -16,13 +16,5 @@ else E = echo $(1) endif -ifdef VERBOSE - Q := - E = -else - Q := @ - E = echo $(1) -endif - S := $(CFG_SRC_DIR)