about summary refs log tree commit diff
path: root/tests/coverage/async2.cov-map
AgeCommit message (Collapse)AuthorLines
2025-05-06coverage: Only merge adjacent coverage spansZalathar-18/+39
This also removes some manipulation of the function signature span that only made sense in the context of merging non-adjacent spans.
2025-05-06coverage-dump: Dump filenames instead of global file IDs (and bless)Zalathar-6/+6
2025-02-13coverage: Eliminate more counters by giving them to unreachable nodesZalathar-6/+6
When preparing a function's coverage counters and metadata during codegen, any part of the original coverage graph that was removed by MIR optimizations can be treated as having an execution count of zero. Somewhat counter-intuitively, if we give those unreachable nodes a _higher_ priority for receiving physical counters (instead of counter expressions), that ends up reducing the total number of physical counters needed. This works because if a node is unreachable, we don't actually create a physical counter for it. Instead that node gets a fixed zero counter, and any other node that would have relied on that physical counter in its counter expression can just ignore that term completely.
2024-12-23Revert "Auto merge of #130766 - clarfonthey:stable-coverage-attribute, ↵Zalathar-12/+12
r=wesleywiser" This reverts commit 1d35638dc38dbfbf1cc2a9823135dfcf3c650169, reversing changes made to f23a80a4c2fbca593b64e70f5970368824b4c5e9.
2024-12-16Stabilize #[coverage] attributeltdk-12/+12
2024-12-05Stabilize noop_wakerEric Holk-12/+12
Co-authored-by: zachs18 <8355914+zachs18@users.noreply.github.com>
2024-11-08coverage: Restrict empty-span expansion to only cover `{` and `}`Zalathar-4/+4
2024-10-11coverage: Include the highest counter ID seen in `.cov-map` dumpsZalathar-0/+6
When making changes that have a large impact on coverage counter creation, this makes it easier to see whether the number of physical counters has changed. (The highest counter ID seen in coverage maps is not necessarily the same as the number of physical counters actually used by the instrumented code, but it's the best approximation we can get from looking only at the coverage maps, and it should be reasonably accurate in most cases.)
2024-09-10coverage: Extract `executor::block_on` from several async coverage testsZalathar-12/+12
By moving `block_on` to an auxiliary crate, we avoid having to keep a separate copy of it in every async test. (This also incorporates some small tweaks to the headers in `await_ready.rs`.)
2024-05-14coverage: Simplify counter expressions using simple algebraZalathar-10/+6
Some of these cases currently don't occur in practice, but are included for completeness, and to avoid having to add them later as branch coverage and MC/DC coverage start building more complex expressions.
2023-12-24Enable GVN by default.Camille GILLOT-8/+6
2023-12-15coverage: Use `Waker::noop` in async testsZalathar-84/+12
2023-12-03coverage: Skip spans that can't be un-expanded back to the function bodyZalathar-6/+6
When we extract coverage spans from MIR, we try to "un-expand" them back to spans that are inside the function's body span. In cases where that doesn't succeed, the current code just swaps in the entire body span instead. But that tends to result in coverage spans that are completely unrelated to the control flow of the affected code, so it's better to just discard those spans.
2023-11-07coverage: Migrate `tests/coverage-map` into `tests/coverage`Zalathar-0/+132