From a5738803735db820f0c4e1d45edf706526308cf6 Mon Sep 17 00:00:00 2001 From: Zalathar Date: Thu, 2 Nov 2023 14:27:22 +1100 Subject: [PATCH] coverage: Rename the `run-coverage` test mode to `coverage-run` This makes it more consistent with the `coverage-map` mode and the shared `tests/coverage` test directory. --- src/bootstrap/src/core/build_steps/test.rs | 22 +++++++++---------- src/bootstrap/src/core/builder.rs | 4 ++-- src/tools/compiletest/src/common.rs | 4 ++-- src/tools/compiletest/src/header.rs | 4 ++-- src/tools/compiletest/src/runtest.rs | 14 ++++++------ .../auxiliary/doctest_crate.rs | 0 .../doctest.coverage | 0 .../doctest.rs | 0 tests/coverage/README.md | 6 ++--- 9 files changed, 27 insertions(+), 27 deletions(-) rename tests/{run-coverage-rustdoc => coverage-run-rustdoc}/auxiliary/doctest_crate.rs (100%) rename tests/{run-coverage-rustdoc => coverage-run-rustdoc}/doctest.coverage (100%) rename tests/{run-coverage-rustdoc => coverage-run-rustdoc}/doctest.rs (100%) diff --git a/src/bootstrap/src/core/build_steps/test.rs b/src/bootstrap/src/core/build_steps/test.rs index 39667d16b7b..c034e5c9d69 100644 --- a/src/bootstrap/src/core/build_steps/test.rs +++ b/src/bootstrap/src/core/build_steps/test.rs @@ -1434,7 +1434,7 @@ fn make_run(run: RunConfig<'_>) { fn run(self, builder: &Builder<'_>) { self.run_unified_suite(builder, CoverageMap::MODE); - self.run_unified_suite(builder, RunCoverage::MODE); + self.run_unified_suite(builder, CoverageRun::MODE); } } @@ -1444,16 +1444,16 @@ fn run(self, builder: &Builder<'_>) { default: true, only_hosts: false, }); -coverage_test_alias!(RunCoverage { - alias_and_mode: "run-coverage", +coverage_test_alias!(CoverageRun { + alias_and_mode: "coverage-run", default: true, only_hosts: true, }); -host_test!(RunCoverageRustdoc { - path: "tests/run-coverage-rustdoc", - mode: "run-coverage", - suite: "run-coverage-rustdoc" +host_test!(CoverageRunRustdoc { + path: "tests/coverage-run-rustdoc", + mode: "coverage-run", + suite: "coverage-run-rustdoc" }); // For the mir-opt suite we do not use macros, as we need custom behavior when blessing. @@ -1640,7 +1640,7 @@ fn run(self, builder: &Builder<'_>) { || (mode == "ui" && is_rustdoc) || mode == "js-doc-test" || mode == "rustdoc-json" - || suite == "run-coverage-rustdoc" + || suite == "coverage-run-rustdoc" { cmd.arg("--rustdoc-path").arg(builder.rustdoc(compiler)); } @@ -1662,7 +1662,7 @@ fn run(self, builder: &Builder<'_>) { cmd.arg("--coverage-dump-path").arg(coverage_dump); } - if mode == "run-coverage" { + if mode == "coverage-run" { // The demangler doesn't need the current compiler, so we can avoid // unnecessary rebuilds by using the bootstrap compiler instead. let rust_demangler = builder @@ -1854,11 +1854,11 @@ fn run(self, builder: &Builder<'_>) { } if !builder.config.dry_run() - && (matches!(suite, "run-make" | "run-make-fulldeps") || mode == "run-coverage") + && (matches!(suite, "run-make" | "run-make-fulldeps") || mode == "coverage-run") { // The llvm/bin directory contains many useful cross-platform // tools. Pass the path to run-make tests so they can use them. - // (The run-coverage tests also need these tools to process + // (The coverage-run tests also need these tools to process // coverage reports.) let llvm_bin_path = llvm_config .parent() diff --git a/src/bootstrap/src/core/builder.rs b/src/bootstrap/src/core/builder.rs index 38eb4633273..1b6ba89aadd 100644 --- a/src/bootstrap/src/core/builder.rs +++ b/src/bootstrap/src/core/builder.rs @@ -729,7 +729,7 @@ macro_rules! describe { test::RunPassValgrind, test::Coverage, test::CoverageMap, - test::RunCoverage, + test::CoverageRun, test::MirOpt, test::Codegen, test::CodegenUnits, @@ -740,7 +740,7 @@ macro_rules! describe { test::CodegenCranelift, test::CodegenGCC, test::Rustdoc, - test::RunCoverageRustdoc, + test::CoverageRunRustdoc, test::Pretty, test::Crate, test::CrateLibrustc, diff --git a/src/tools/compiletest/src/common.rs b/src/tools/compiletest/src/common.rs index a908218fff1..bdf8c35e73b 100644 --- a/src/tools/compiletest/src/common.rs +++ b/src/tools/compiletest/src/common.rs @@ -67,7 +67,7 @@ pub enum Mode { MirOpt => "mir-opt", Assembly => "assembly", CoverageMap => "coverage-map", - RunCoverage => "run-coverage", + CoverageRun => "coverage-run", } } @@ -91,7 +91,7 @@ pub fn output_dir_disambiguator(self) -> &'static str { // Coverage tests use the same test files for multiple test modes, // so each mode should have a separate output directory. match self { - CoverageMap | RunCoverage => self.to_str(), + CoverageMap | CoverageRun => self.to_str(), _ => "", } } diff --git a/src/tools/compiletest/src/header.rs b/src/tools/compiletest/src/header.rs index 948439d6e79..d6516cff63f 100644 --- a/src/tools/compiletest/src/header.rs +++ b/src/tools/compiletest/src/header.rs @@ -911,11 +911,11 @@ pub fn make_test_description( let mut should_fail = false; let extra_directives: &[&str] = match config.mode { - // The run-coverage tests are treated as having these extra directives, + // The coverage-run tests are treated as having these extra directives, // without needing to specify them manually in every test file. // (Some of the comments below have been copied over from // `tests/run-make/coverage-reports/Makefile`, which no longer exists.) - Mode::RunCoverage => { + Mode::CoverageRun => { &[ "needs-profiler-support", // FIXME(mati865): MinGW GCC miscompiles compiler-rt profiling library but with Clang it works diff --git a/src/tools/compiletest/src/runtest.rs b/src/tools/compiletest/src/runtest.rs index cbcd3dc2fde..63e8ba7c79f 100644 --- a/src/tools/compiletest/src/runtest.rs +++ b/src/tools/compiletest/src/runtest.rs @@ -6,7 +6,7 @@ use crate::common::{Codegen, CodegenUnits, DebugInfo, Debugger, Rustdoc}; use crate::common::{CompareMode, FailMode, PassMode}; use crate::common::{Config, TestPaths}; -use crate::common::{CoverageMap, Pretty, RunCoverage, RunPassValgrind}; +use crate::common::{CoverageMap, CoverageRun, Pretty, RunPassValgrind}; use crate::common::{UI_COVERAGE, UI_COVERAGE_MAP, UI_RUN_STDERR, UI_RUN_STDOUT}; use crate::compute_diff::{write_diff, write_filtered_diff}; use crate::errors::{self, Error, ErrorKind}; @@ -257,7 +257,7 @@ fn run_revision(&self) { Assembly => self.run_assembly_test(), JsDocTest => self.run_js_doc_test(), CoverageMap => self.run_coverage_map_test(), - RunCoverage => self.run_coverage_test(), + CoverageRun => self.run_coverage_run_test(), } } @@ -510,7 +510,7 @@ fn run_coverage_map_test(&self) { } } - fn run_coverage_test(&self) { + fn run_coverage_run_test(&self) { let should_run = self.run_if_enabled(); let proc_res = self.compile_test(should_run, Emit::None); @@ -549,7 +549,7 @@ fn run_coverage_test(&self) { let mut profraw_paths = vec![profraw_path]; let mut bin_paths = vec![self.make_exe_name()]; - if self.config.suite == "run-coverage-rustdoc" { + if self.config.suite == "coverage-run-rustdoc" { self.run_doctests_for_coverage(&mut profraw_paths, &mut bin_paths); } @@ -2193,7 +2193,7 @@ fn build_auxiliary(&self, source_path: &str, aux_dir: &Path) -> bool { || self.is_vxworks_pure_static() || self.config.target.contains("bpf") || !self.config.target_cfg().dynamic_linking - || matches!(self.config.mode, CoverageMap | RunCoverage) + || matches!(self.config.mode, CoverageMap | CoverageRun) { // We primarily compile all auxiliary libraries as dynamic libraries // to avoid code size bloat and large binaries as much as possible @@ -2395,7 +2395,7 @@ fn make_compile_args( } } DebugInfo => { /* debuginfo tests must be unoptimized */ } - CoverageMap | RunCoverage => { + CoverageMap | CoverageRun => { // Coverage mappings and coverage reports are affected by // optimization level, so they ignore the optimize-tests // setting and set an optimization level in their mode's @@ -2478,7 +2478,7 @@ fn make_compile_args( // by `compile-flags`. rustc.arg("-Copt-level=2"); } - RunCoverage => { + CoverageRun => { rustc.arg("-Cinstrument-coverage"); // Coverage reports are sometimes sensitive to optimizations, // and the current snapshots assume `opt-level=2` unless diff --git a/tests/run-coverage-rustdoc/auxiliary/doctest_crate.rs b/tests/coverage-run-rustdoc/auxiliary/doctest_crate.rs similarity index 100% rename from tests/run-coverage-rustdoc/auxiliary/doctest_crate.rs rename to tests/coverage-run-rustdoc/auxiliary/doctest_crate.rs diff --git a/tests/run-coverage-rustdoc/doctest.coverage b/tests/coverage-run-rustdoc/doctest.coverage similarity index 100% rename from tests/run-coverage-rustdoc/doctest.coverage rename to tests/coverage-run-rustdoc/doctest.coverage diff --git a/tests/run-coverage-rustdoc/doctest.rs b/tests/coverage-run-rustdoc/doctest.rs similarity index 100% rename from tests/run-coverage-rustdoc/doctest.rs rename to tests/coverage-run-rustdoc/doctest.rs diff --git a/tests/coverage/README.md b/tests/coverage/README.md index f1e403c65e3..c72aa69c0ce 100644 --- a/tests/coverage/README.md +++ b/tests/coverage/README.md @@ -2,8 +2,8 @@ The tests in this directory are shared by two different test modes, and can be run in multiple different ways: - `./x.py test coverage-map` (compiles to LLVM IR and checks coverage mappings) -- `./x.py test run-coverage` (runs a test binary and checks its coverage report) -- `./x.py test coverage` (runs both `coverage-map` and `run-coverage`) +- `./x.py test coverage-run` (runs a test binary and checks its coverage report) +- `./x.py test coverage` (runs both `coverage-map` and `coverage-run`) ## Maintenance note @@ -11,6 +11,6 @@ These tests can be sensitive to small changes in MIR spans or MIR control flow, especially in HIR-to-MIR lowering or MIR optimizations. If you haven't touched the coverage code directly, and the tests still pass in -`run-coverage` mode, then it should usually be OK to just re-bless the mappings +`coverage-run` mode, then it should usually be OK to just re-bless the mappings as necessary with `./x.py test coverage-map --bless`, without worrying too much about the exact changes.