mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-22 23:04:33 +00:00
Allow coverage tests to enable llvm-cov --use-color
This commit is contained in:
parent
9ab8c632ee
commit
731ba80a6b
@ -178,6 +178,9 @@ pub struct TestProps {
|
|||||||
// Whether to tell `rustc` to remap the "src base" directory to a fake
|
// Whether to tell `rustc` to remap the "src base" directory to a fake
|
||||||
// directory.
|
// directory.
|
||||||
pub remap_src_base: bool,
|
pub remap_src_base: bool,
|
||||||
|
/// Extra flags to pass to `llvm-cov` when producing coverage reports.
|
||||||
|
/// Only used by the "coverage-run" test mode.
|
||||||
|
pub llvm_cov_flags: Vec<String>,
|
||||||
}
|
}
|
||||||
|
|
||||||
mod directives {
|
mod directives {
|
||||||
@ -216,6 +219,7 @@ mod directives {
|
|||||||
pub const MIR_UNIT_TEST: &'static str = "unit-test";
|
pub const MIR_UNIT_TEST: &'static str = "unit-test";
|
||||||
pub const REMAP_SRC_BASE: &'static str = "remap-src-base";
|
pub const REMAP_SRC_BASE: &'static str = "remap-src-base";
|
||||||
pub const COMPARE_OUTPUT_LINES_BY_SUBSET: &'static str = "compare-output-lines-by-subset";
|
pub const COMPARE_OUTPUT_LINES_BY_SUBSET: &'static str = "compare-output-lines-by-subset";
|
||||||
|
pub const LLVM_COV_FLAGS: &'static str = "llvm-cov-flags";
|
||||||
// This isn't a real directive, just one that is probably mistyped often
|
// This isn't a real directive, just one that is probably mistyped often
|
||||||
pub const INCORRECT_COMPILER_FLAGS: &'static str = "compiler-flags";
|
pub const INCORRECT_COMPILER_FLAGS: &'static str = "compiler-flags";
|
||||||
}
|
}
|
||||||
@ -265,6 +269,7 @@ impl TestProps {
|
|||||||
stderr_per_bitwidth: false,
|
stderr_per_bitwidth: false,
|
||||||
mir_unit_test: None,
|
mir_unit_test: None,
|
||||||
remap_src_base: false,
|
remap_src_base: false,
|
||||||
|
llvm_cov_flags: vec![],
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -495,6 +500,10 @@ impl TestProps {
|
|||||||
COMPARE_OUTPUT_LINES_BY_SUBSET,
|
COMPARE_OUTPUT_LINES_BY_SUBSET,
|
||||||
&mut self.compare_output_lines_by_subset,
|
&mut self.compare_output_lines_by_subset,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
if let Some(flags) = config.parse_name_value_directive(ln, LLVM_COV_FLAGS) {
|
||||||
|
self.llvm_cov_flags.extend(split_flags(&flags));
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -575,6 +575,8 @@ impl<'test> TestCx<'test> {
|
|||||||
cmd.arg("--object");
|
cmd.arg("--object");
|
||||||
cmd.arg(bin);
|
cmd.arg(bin);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cmd.args(&self.props.llvm_cov_flags);
|
||||||
});
|
});
|
||||||
if !proc_res.status.success() {
|
if !proc_res.status.success() {
|
||||||
self.fatal_proc_rec("llvm-cov show failed!", &proc_res);
|
self.fatal_proc_rec("llvm-cov show failed!", &proc_res);
|
||||||
|
13
tests/coverage/color.coverage
Normal file
13
tests/coverage/color.coverage
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
LL| |// edition: 2021
|
||||||
|
LL| |// ignore-mode-coverage-map
|
||||||
|
LL| |// ignore-windows
|
||||||
|
LL| |// llvm-cov-flags: --use-color
|
||||||
|
LL| |
|
||||||
|
LL| |// Verify that telling `llvm-cov` to use colored output actually works.
|
||||||
|
LL| |// Ignored on Windows because we can't tell the tool to use ANSI escapes.
|
||||||
|
LL| |
|
||||||
|
LL| 1|fn main() {
|
||||||
|
LL| [0;35m1[0m| for [0;41m_i[0m in 0..0 [0;41m{}[0m
|
||||||
|
^0 ^0
|
||||||
|
LL| 1|}
|
||||||
|
|
11
tests/coverage/color.rs
Normal file
11
tests/coverage/color.rs
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
// edition: 2021
|
||||||
|
// ignore-mode-coverage-map
|
||||||
|
// ignore-windows
|
||||||
|
// llvm-cov-flags: --use-color
|
||||||
|
|
||||||
|
// Verify that telling `llvm-cov` to use colored output actually works.
|
||||||
|
// Ignored on Windows because we can't tell the tool to use ANSI escapes.
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
for _i in 0..0 {}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user