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.
This commit is contained in:
Zalathar 2023-11-02 14:27:22 +11:00
parent 91cfcb0219
commit a573880373
9 changed files with 27 additions and 27 deletions

View file

@ -1434,7 +1434,7 @@ impl Step for Coverage {
fn run(self, builder: &Builder<'_>) { fn run(self, builder: &Builder<'_>) {
self.run_unified_suite(builder, CoverageMap::MODE); 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 @@ coverage_test_alias!(CoverageMap {
default: true, default: true,
only_hosts: false, only_hosts: false,
}); });
coverage_test_alias!(RunCoverage { coverage_test_alias!(CoverageRun {
alias_and_mode: "run-coverage", alias_and_mode: "coverage-run",
default: true, default: true,
only_hosts: true, only_hosts: true,
}); });
host_test!(RunCoverageRustdoc { host_test!(CoverageRunRustdoc {
path: "tests/run-coverage-rustdoc", path: "tests/coverage-run-rustdoc",
mode: "run-coverage", mode: "coverage-run",
suite: "run-coverage-rustdoc" suite: "coverage-run-rustdoc"
}); });
// For the mir-opt suite we do not use macros, as we need custom behavior when blessing. // For the mir-opt suite we do not use macros, as we need custom behavior when blessing.
@ -1640,7 +1640,7 @@ note: if you're sure you want to do this, please open an issue as to why. In the
|| (mode == "ui" && is_rustdoc) || (mode == "ui" && is_rustdoc)
|| mode == "js-doc-test" || mode == "js-doc-test"
|| mode == "rustdoc-json" || mode == "rustdoc-json"
|| suite == "run-coverage-rustdoc" || suite == "coverage-run-rustdoc"
{ {
cmd.arg("--rustdoc-path").arg(builder.rustdoc(compiler)); cmd.arg("--rustdoc-path").arg(builder.rustdoc(compiler));
} }
@ -1662,7 +1662,7 @@ note: if you're sure you want to do this, please open an issue as to why. In the
cmd.arg("--coverage-dump-path").arg(coverage_dump); 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 // The demangler doesn't need the current compiler, so we can avoid
// unnecessary rebuilds by using the bootstrap compiler instead. // unnecessary rebuilds by using the bootstrap compiler instead.
let rust_demangler = builder let rust_demangler = builder
@ -1854,11 +1854,11 @@ note: if you're sure you want to do this, please open an issue as to why. In the
} }
if !builder.config.dry_run() 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 // The llvm/bin directory contains many useful cross-platform
// tools. Pass the path to run-make tests so they can use them. // 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.) // coverage reports.)
let llvm_bin_path = llvm_config let llvm_bin_path = llvm_config
.parent() .parent()

View file

@ -729,7 +729,7 @@ impl<'a> Builder<'a> {
test::RunPassValgrind, test::RunPassValgrind,
test::Coverage, test::Coverage,
test::CoverageMap, test::CoverageMap,
test::RunCoverage, test::CoverageRun,
test::MirOpt, test::MirOpt,
test::Codegen, test::Codegen,
test::CodegenUnits, test::CodegenUnits,
@ -740,7 +740,7 @@ impl<'a> Builder<'a> {
test::CodegenCranelift, test::CodegenCranelift,
test::CodegenGCC, test::CodegenGCC,
test::Rustdoc, test::Rustdoc,
test::RunCoverageRustdoc, test::CoverageRunRustdoc,
test::Pretty, test::Pretty,
test::Crate, test::Crate,
test::CrateLibrustc, test::CrateLibrustc,

View file

@ -67,7 +67,7 @@ string_enum! {
MirOpt => "mir-opt", MirOpt => "mir-opt",
Assembly => "assembly", Assembly => "assembly",
CoverageMap => "coverage-map", CoverageMap => "coverage-map",
RunCoverage => "run-coverage", CoverageRun => "coverage-run",
} }
} }
@ -91,7 +91,7 @@ impl Mode {
// Coverage tests use the same test files for multiple test modes, // Coverage tests use the same test files for multiple test modes,
// so each mode should have a separate output directory. // so each mode should have a separate output directory.
match self { match self {
CoverageMap | RunCoverage => self.to_str(), CoverageMap | CoverageRun => self.to_str(),
_ => "", _ => "",
} }
} }

View file

@ -911,11 +911,11 @@ pub fn make_test_description<R: Read>(
let mut should_fail = false; let mut should_fail = false;
let extra_directives: &[&str] = match config.mode { 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. // without needing to specify them manually in every test file.
// (Some of the comments below have been copied over from // (Some of the comments below have been copied over from
// `tests/run-make/coverage-reports/Makefile`, which no longer exists.) // `tests/run-make/coverage-reports/Makefile`, which no longer exists.)
Mode::RunCoverage => { Mode::CoverageRun => {
&[ &[
"needs-profiler-support", "needs-profiler-support",
// FIXME(mati865): MinGW GCC miscompiles compiler-rt profiling library but with Clang it works // FIXME(mati865): MinGW GCC miscompiles compiler-rt profiling library but with Clang it works

View file

@ -6,7 +6,7 @@ use crate::common::{Assembly, Incremental, JsDocTest, MirOpt, RunMake, RustdocJs
use crate::common::{Codegen, CodegenUnits, DebugInfo, Debugger, Rustdoc}; use crate::common::{Codegen, CodegenUnits, DebugInfo, Debugger, Rustdoc};
use crate::common::{CompareMode, FailMode, PassMode}; use crate::common::{CompareMode, FailMode, PassMode};
use crate::common::{Config, TestPaths}; 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::common::{UI_COVERAGE, UI_COVERAGE_MAP, UI_RUN_STDERR, UI_RUN_STDOUT};
use crate::compute_diff::{write_diff, write_filtered_diff}; use crate::compute_diff::{write_diff, write_filtered_diff};
use crate::errors::{self, Error, ErrorKind}; use crate::errors::{self, Error, ErrorKind};
@ -257,7 +257,7 @@ impl<'test> TestCx<'test> {
Assembly => self.run_assembly_test(), Assembly => self.run_assembly_test(),
JsDocTest => self.run_js_doc_test(), JsDocTest => self.run_js_doc_test(),
CoverageMap => self.run_coverage_map_test(), CoverageMap => self.run_coverage_map_test(),
RunCoverage => self.run_coverage_test(), CoverageRun => self.run_coverage_run_test(),
} }
} }
@ -510,7 +510,7 @@ impl<'test> TestCx<'test> {
} }
} }
fn run_coverage_test(&self) { fn run_coverage_run_test(&self) {
let should_run = self.run_if_enabled(); let should_run = self.run_if_enabled();
let proc_res = self.compile_test(should_run, Emit::None); let proc_res = self.compile_test(should_run, Emit::None);
@ -549,7 +549,7 @@ impl<'test> TestCx<'test> {
let mut profraw_paths = vec![profraw_path]; let mut profraw_paths = vec![profraw_path];
let mut bin_paths = vec![self.make_exe_name()]; 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); self.run_doctests_for_coverage(&mut profraw_paths, &mut bin_paths);
} }
@ -2193,7 +2193,7 @@ impl<'test> TestCx<'test> {
|| self.is_vxworks_pure_static() || self.is_vxworks_pure_static()
|| self.config.target.contains("bpf") || self.config.target.contains("bpf")
|| !self.config.target_cfg().dynamic_linking || !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 // We primarily compile all auxiliary libraries as dynamic libraries
// to avoid code size bloat and large binaries as much as possible // to avoid code size bloat and large binaries as much as possible
@ -2395,7 +2395,7 @@ impl<'test> TestCx<'test> {
} }
} }
DebugInfo => { /* debuginfo tests must be unoptimized */ } DebugInfo => { /* debuginfo tests must be unoptimized */ }
CoverageMap | RunCoverage => { CoverageMap | CoverageRun => {
// Coverage mappings and coverage reports are affected by // Coverage mappings and coverage reports are affected by
// optimization level, so they ignore the optimize-tests // optimization level, so they ignore the optimize-tests
// setting and set an optimization level in their mode's // setting and set an optimization level in their mode's
@ -2478,7 +2478,7 @@ impl<'test> TestCx<'test> {
// by `compile-flags`. // by `compile-flags`.
rustc.arg("-Copt-level=2"); rustc.arg("-Copt-level=2");
} }
RunCoverage => { CoverageRun => {
rustc.arg("-Cinstrument-coverage"); rustc.arg("-Cinstrument-coverage");
// Coverage reports are sometimes sensitive to optimizations, // Coverage reports are sometimes sensitive to optimizations,
// and the current snapshots assume `opt-level=2` unless // and the current snapshots assume `opt-level=2` unless

View file

@ -2,8 +2,8 @@ The tests in this directory are shared by two different test modes, and can be
run in multiple different ways: run in multiple different ways:
- `./x.py test coverage-map` (compiles to LLVM IR and checks coverage mappings) - `./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-run` (runs a test binary and checks its coverage report)
- `./x.py test coverage` (runs both `coverage-map` and `run-coverage`) - `./x.py test coverage` (runs both `coverage-map` and `coverage-run`)
## Maintenance note ## 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. especially in HIR-to-MIR lowering or MIR optimizations.
If you haven't touched the coverage code directly, and the tests still pass in 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 as necessary with `./x.py test coverage-map --bless`, without worrying too much
about the exact changes. about the exact changes.