rust/tests/coverage
Guillaume Gomez 9f455d3246
Rollup merge of #126621 - Zalathar:test-coverage-attr, r=petrochenkov
More thorough status-quo tests for `#[coverage(..)]`

In light of the stabilization push at https://github.com/rust-lang/rust/issues/84605#issuecomment-2166514660, I have written some tests to more thoroughly capture the current behaviour of the `#[coverage(..)]` attribute.

These tests aim to capture the *current* behaviour, which is not necessarily the desired behaviour. For example, some of the error message are not great, some things that perhaps ought to cause an error do not, and recursive coverage attributes have not been implemented yet.

`@rustbot` label +A-code-coverage
2024-06-18 15:30:47 +02:00
..
attr Add more thorough coverage tests for #[coverage(..)] in nested functions 2024-06-18 21:27:34 +10:00
auxiliary Tweak various coverage test files for slightly nicer formatting 2024-05-29 14:34:11 +10:00
branch coverage: Add debugging flag -Zcoverage-options=no-mir-spans 2024-06-17 21:16:15 +10:00
condition coverage: Instrument the RHS value of lazy logical operators 2024-05-30 15:38:46 +10:00
mcdc coverage: Add tests for the MC/DC condition limit 2024-05-29 20:12:20 +10:00
abort.cov-map coverage: Simplify counter expressions using simple algebra 2024-05-14 13:58:40 +10:00
abort.coverage coverage: Add #[rustfmt::skip] to tests with non-standard formatting 2024-01-16 15:56:37 +11:00
abort.rs coverage: Add #[rustfmt::skip] to tests with non-standard formatting 2024-01-16 15:56:37 +11:00
assert_not.cov-map coverage: Regression test for assert!(!false) 2023-12-16 20:58:04 +11:00
assert_not.coverage [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
assert_not.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
assert-ne.cov-map coverage: Add tests/coverage/assert-ne.rs 2024-06-12 22:38:16 +10:00
assert-ne.coverage coverage: Add tests/coverage/assert-ne.rs 2024-06-12 22:38:16 +10:00
assert-ne.rs coverage: Add tests/coverage/assert-ne.rs 2024-06-12 22:38:16 +10:00
assert.cov-map coverage: Migrate tests/coverage-map into tests/coverage 2023-11-07 11:15:19 +11:00
assert.coverage [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
assert.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
async2.cov-map coverage: Simplify counter expressions using simple algebra 2024-05-14 13:58:40 +10:00
async2.coverage [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
async2.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
async_block.cov-map coverage: Simplify counter expressions using simple algebra 2024-05-14 13:58:40 +10:00
async_block.coverage [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
async_block.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
async.cov-map coverage: Simplify counter expressions using simple algebra 2024-05-14 13:58:40 +10:00
async.coverage [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
async.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
bad_counter_ids.cov-map coverage: Use normal edition: headers in coverage tests 2024-02-02 11:17:05 +11:00
bad_counter_ids.coverage [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
bad_counter_ids.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
bench.cov-map Add #[coverage(off)] to closures introduced by #[test]/#[bench] 2024-01-21 23:17:00 +11:00
bench.coverage [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
bench.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
closure_bug.cov-map coverage: Simplify counter expressions using simple algebra 2024-05-14 13:58:40 +10:00
closure_bug.coverage coverage: Add #[rustfmt::skip] to tests with non-standard formatting 2024-01-16 15:56:37 +11:00
closure_bug.rs coverage: Add #[rustfmt::skip] to tests with non-standard formatting 2024-01-16 15:56:37 +11:00
closure_macro_async.cov-map coverage: Use hole spans to carve up coverage spans into separate buckets 2024-06-04 13:51:08 +10:00
closure_macro_async.coverage [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
closure_macro_async.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
closure_macro.cov-map coverage: Use hole spans to carve up coverage spans into separate buckets 2024-06-04 13:51:08 +10:00
closure_macro.coverage [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
closure_macro.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
closure_unit_return.cov-map coverage: Discard spans that fill the entire function body 2024-02-16 10:57:03 +11:00
closure_unit_return.coverage [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
closure_unit_return.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
closure.cov-map coverage: Simplify counter expressions using simple algebra 2024-05-14 13:58:40 +10:00
closure.coverage [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
closure.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
color.coverage [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
color.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
conditions.cov-map coverage: Simplify counter expressions using simple algebra 2024-05-14 13:58:40 +10:00
conditions.coverage coverage: Tweak individual tests to be unaffected by rustfmt 2024-01-16 16:14:27 +11:00
conditions.rs coverage: Tweak individual tests to be unaffected by rustfmt 2024-01-16 16:14:27 +11:00
continue.cov-map coverage: Simplify building coverage expressions based on sums 2023-11-25 12:29:20 +11:00
continue.coverage
continue.rs
coroutine.cov-map Manually run x fmt on all source files in tests/coverage/ 2024-05-29 14:34:17 +10:00
coroutine.coverage Manually run x fmt on all source files in tests/coverage/ 2024-05-29 14:34:17 +10:00
coroutine.rs Manually run x fmt on all source files in tests/coverage/ 2024-05-29 14:34:17 +10:00
coverage_attr_closure.cov-map coverage: Discard spans that fill the entire function body 2024-02-16 10:57:03 +11:00
coverage_attr_closure.coverage [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
coverage_attr_closure.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
dead_code.cov-map coverage: Simplify counter expressions using simple algebra 2024-05-14 13:58:40 +10:00
dead_code.coverage
dead_code.rs
drop_trait.cov-map coverage: Simplify counter expressions using simple algebra 2024-05-14 13:58:40 +10:00
drop_trait.coverage [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
drop_trait.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
fn_sig_into_try.cov-map coverage: Simplify counter expressions using simple algebra 2024-05-14 13:58:40 +10:00
fn_sig_into_try.coverage [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
fn_sig_into_try.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
generics.cov-map coverage: Simplify counter expressions using simple algebra 2024-05-14 13:58:40 +10:00
generics.coverage [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
generics.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
if_else.cov-map coverage: Simplify counter expressions using simple algebra 2024-05-14 13:58:40 +10:00
if_else.coverage coverage: Add #[rustfmt::skip] to tests with non-standard formatting 2024-01-16 15:56:37 +11:00
if_else.rs coverage: Add #[rustfmt::skip] to tests with non-standard formatting 2024-01-16 15:56:37 +11:00
if_not.cov-map coverage: Simplify counter expressions using simple algebra 2024-05-14 13:58:40 +10:00
if_not.coverage [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
if_not.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
if.cov-map coverage: Simplify counter expressions using simple algebra 2024-05-14 13:58:40 +10:00
if.coverage coverage: Add #[rustfmt::skip] to tests with non-standard formatting 2024-01-16 15:56:37 +11:00
if.rs coverage: Add #[rustfmt::skip] to tests with non-standard formatting 2024-01-16 15:56:37 +11:00
ignore_map.coverage [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
ignore_map.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
ignore_run.cov-map Allow tests to ignore individual test modes 2024-01-05 13:42:54 +11:00
ignore_run.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
inline-dead.cov-map coverage: Simplify counter expressions using simple algebra 2024-05-14 13:58:40 +10:00
inline-dead.coverage Tweak various coverage test files for slightly nicer formatting 2024-05-29 14:34:11 +10:00
inline-dead.rs Tweak various coverage test files for slightly nicer formatting 2024-05-29 14:34:11 +10:00
inline.cov-map coverage: Simplify counter expressions using simple algebra 2024-05-14 13:58:40 +10:00
inline.coverage [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
inline.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
inner_items.cov-map coverage: Simplify counter expressions using simple algebra 2024-05-14 13:58:40 +10:00
inner_items.coverage Tweak various coverage test files for slightly nicer formatting 2024-05-29 14:34:11 +10:00
inner_items.rs Tweak various coverage test files for slightly nicer formatting 2024-05-29 14:34:11 +10:00
issue-83601.cov-map Dereference immutable borrows in GVN. 2024-04-20 19:22:13 +00:00
issue-83601.coverage coverage: Don't instrument #[automatically_derived] functions 2024-01-22 12:18:57 +11:00
issue-83601.rs
issue-84561.cov-map coverage: Simplify counter expressions using simple algebra 2024-05-14 13:58:40 +10:00
issue-84561.coverage [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
issue-84561.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
issue-85461.cov-map coverage: Migrate tests/coverage-map into tests/coverage 2023-11-07 11:15:19 +11:00
issue-85461.coverage [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
issue-85461.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
issue-93054.cov-map coverage: Use normal edition: headers in coverage tests 2024-02-02 11:17:05 +11:00
issue-93054.coverage [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
issue-93054.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
lazy_boolean.cov-map coverage: Simplify counter expressions using simple algebra 2024-05-14 13:58:40 +10:00
lazy_boolean.coverage coverage: Add #[rustfmt::skip] to tests with non-standard formatting 2024-01-16 15:56:37 +11:00
lazy_boolean.rs coverage: Add #[rustfmt::skip] to tests with non-standard formatting 2024-01-16 15:56:37 +11:00
let_else_loop.cov-map Manually run x fmt on all source files in tests/coverage/ 2024-05-29 14:34:17 +10:00
let_else_loop.coverage Manually run x fmt on all source files in tests/coverage/ 2024-05-29 14:34:17 +10:00
let_else_loop.rs Manually run x fmt on all source files in tests/coverage/ 2024-05-29 14:34:17 +10:00
long_and_wide.cov-map coverage: Migrate tests/coverage-map into tests/coverage 2023-11-07 11:15:19 +11:00
long_and_wide.coverage [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
long_and_wide.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
loop_break_value.cov-map coverage: Add #[rustfmt::skip] to tests with non-standard formatting 2024-01-16 15:56:37 +11:00
loop_break_value.coverage coverage: Add #[rustfmt::skip] to tests with non-standard formatting 2024-01-16 15:56:37 +11:00
loop_break_value.rs coverage: Add #[rustfmt::skip] to tests with non-standard formatting 2024-01-16 15:56:37 +11:00
loop-break.cov-map coverage: Replace the old span refiner with a single function 2024-06-12 22:59:24 +10:00
loop-break.coverage coverage: Replace the old span refiner with a single function 2024-06-12 22:59:24 +10:00
loop-break.rs coverage: Add tests/coverage/loop-break.rs 2024-06-12 22:48:11 +10:00
loops_branches.cov-map coverage: Simplify counter expressions using simple algebra 2024-05-14 13:58:40 +10:00
loops_branches.coverage
loops_branches.rs
macro_in_closure.cov-map coverage: Test for closure body that is a single bang-macro 2024-02-05 10:07:18 +11:00
macro_in_closure.coverage [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
macro_in_closure.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
macro_name_span.cov-map coverage: Discard spans that fill the entire function body 2024-02-16 10:57:03 +11:00
macro_name_span.coverage [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
macro_name_span.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
match_or_pattern.cov-map coverage: Simplify counter expressions using simple algebra 2024-05-14 13:58:40 +10:00
match_or_pattern.coverage
match_or_pattern.rs
mcdc_if.cov-map coverage. Add basic tests for MC/DC 2024-04-20 00:34:40 +08:00
mcdc_if.coverage coverage. Add basic tests for MC/DC 2024-04-20 00:34:40 +08:00
mcdc_if.rs coverage. Add basic tests for MC/DC 2024-04-20 00:34:40 +08:00
mcdc_nested_if.cov-map tests(mcdc-coverage): Add tests for nested decision structures in mcdc_nested_if.rs 2024-04-29 09:13:41 +00:00
mcdc_nested_if.coverage tests(mcdc-coverage): Add tests for nested decision structures in mcdc_nested_if.rs 2024-04-29 09:13:41 +00:00
mcdc_nested_if.rs tests(mcdc-coverage): Add tests for nested decision structures in mcdc_nested_if.rs 2024-04-29 09:13:41 +00:00
nested_loops.cov-map coverage: Migrate tests/coverage-map into tests/coverage 2023-11-07 11:15:19 +11:00
nested_loops.coverage
nested_loops.rs
no_cov_crate.cov-map coverage: Simplify counter expressions using simple algebra 2024-05-14 13:58:40 +10:00
no_cov_crate.coverage
no_cov_crate.rs
no_spans_if_not.cov-map macro_rules: Preserve all metavariable spans in a global side table 2024-02-18 11:19:24 +03:00
no_spans_if_not.coverage [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
no_spans_if_not.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
no_spans.cov-map macro_rules: Preserve all metavariable spans in a global side table 2024-02-18 11:19:24 +03:00
no_spans.coverage [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
no_spans.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
overflow.cov-map coverage: Simplify counter expressions using simple algebra 2024-05-14 13:58:40 +10:00
overflow.coverage [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
overflow.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
panic_unwind.cov-map coverage: Migrate tests/coverage-map into tests/coverage 2023-11-07 11:15:19 +11:00
panic_unwind.coverage [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
panic_unwind.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
partial_eq.cov-map Manually run x fmt on all source files in tests/coverage/ 2024-05-29 14:34:17 +10:00
partial_eq.coverage Manually run x fmt on all source files in tests/coverage/ 2024-05-29 14:34:17 +10:00
partial_eq.rs Manually run x fmt on all source files in tests/coverage/ 2024-05-29 14:34:17 +10:00
README.md coverage: Rename the run-coverage test mode to coverage-run 2023-11-08 16:41:24 +11:00
simple_loop.cov-map coverage: Simplify counter expressions using simple algebra 2024-05-14 13:58:40 +10:00
simple_loop.coverage coverage: Add #[rustfmt::skip] to tests with non-standard formatting 2024-01-16 15:56:37 +11:00
simple_loop.rs coverage: Add #[rustfmt::skip] to tests with non-standard formatting 2024-01-16 15:56:37 +11:00
simple_match.cov-map coverage: Simplify counter expressions using simple algebra 2024-05-14 13:58:40 +10:00
simple_match.coverage coverage: Add #[rustfmt::skip] to tests with non-standard formatting 2024-01-16 15:56:37 +11:00
simple_match.rs coverage: Add #[rustfmt::skip] to tests with non-standard formatting 2024-01-16 15:56:37 +11:00
sort_groups.cov-map coverage: Simplify counter expressions using simple algebra 2024-05-14 13:58:40 +10:00
sort_groups.coverage [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
sort_groups.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
test_harness.cov-map Add #[coverage(off)] to closures introduced by #[test]/#[bench] 2024-01-21 23:17:00 +11:00
test_harness.coverage [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
test_harness.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
thin-lto.cov-map coverage: Format all remaining tests 2024-01-18 10:42:37 +11:00
thin-lto.coverage [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
thin-lto.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
tight_inf_loop.cov-map coverage: Migrate tests/coverage-map into tests/coverage 2023-11-07 11:15:19 +11:00
tight_inf_loop.coverage
tight_inf_loop.rs
trivial.cov-map coverage: Migrate tests/coverage-map into tests/coverage 2023-11-07 11:15:19 +11:00
trivial.coverage [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
trivial.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
try_error_result.cov-map Tweak various coverage test files for slightly nicer formatting 2024-05-29 14:34:11 +10:00
try_error_result.coverage Tweak various coverage test files for slightly nicer formatting 2024-05-29 14:34:11 +10:00
try_error_result.rs Tweak various coverage test files for slightly nicer formatting 2024-05-29 14:34:11 +10:00
unicode.cov-map coverage: Simplify counter expressions using simple algebra 2024-05-14 13:58:40 +10:00
unicode.coverage [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
unicode.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
unreachable.cov-map Eliminate UbCheck for non-standard libraries 2024-03-27 21:02:40 +08:00
unreachable.coverage [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
unreachable.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
unused_mod.cov-map coverage: Migrate tests/coverage-map into tests/coverage 2023-11-07 11:15:19 +11:00
unused_mod.coverage
unused_mod.rs
unused.cov-map coverage: Migrate tests/coverage-map into tests/coverage 2023-11-07 11:15:19 +11:00
unused.coverage
unused.rs
uses_crate.cov-map coverage: Migrate tests/coverage-map into tests/coverage 2023-11-07 11:15:19 +11:00
uses_crate.coverage Tweak various coverage test files for slightly nicer formatting 2024-05-29 14:34:11 +10:00
uses_crate.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
uses_inline_crate.cov-map coverage: Simplify counter expressions using simple algebra 2024-05-14 13:58:40 +10:00
uses_inline_crate.coverage Tweak various coverage test files for slightly nicer formatting 2024-05-29 14:34:11 +10:00
uses_inline_crate.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
while_early_ret.cov-map coverage: Add #[rustfmt::skip] to tests with non-standard formatting 2024-01-16 15:56:37 +11:00
while_early_ret.coverage [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
while_early_ret.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
while.cov-map coverage: Simplify counter expressions using simple algebra 2024-05-14 13:58:40 +10:00
while.coverage coverage: Tweak individual tests to be unaffected by rustfmt 2024-01-16 16:14:27 +11:00
while.rs coverage: Tweak individual tests to be unaffected by rustfmt 2024-01-16 16:14:27 +11:00
yield.cov-map Manually run x fmt on all source files in tests/coverage/ 2024-05-29 14:34:17 +10:00
yield.coverage Manually run x fmt on all source files in tests/coverage/ 2024-05-29 14:34:17 +10:00
yield.rs Manually run x fmt on all source files in tests/coverage/ 2024-05-29 14:34:17 +10:00

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 coverage-run (runs a test binary and checks its coverage report)
  • ./x.py test coverage (runs both coverage-map and coverage-run)

Maintenance note

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 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.