about summary refs log tree commit diff
path: root/tests/coverage/try_error_result.cov-map
AgeCommit message (Collapse)AuthorLines
2025-05-06coverage: Only merge adjacent coverage spansZalathar-106/+148
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-04-01coverage: Don't split bang-macro spans, just truncate themZalathar-6/+6
2025-04-01coverage: Shrink call spans to just the function nameZalathar-20/+20
This is a way to shrink call spans that doesn't involve mixing different spans, and avoids overlap with argument spans. This patch also removes some low-value comments that were causing rustfmt to ignore the match arms.
2025-02-13coverage: Eliminate more counters by giving them to unreachable nodesZalathar-10/+14
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.
2025-01-16coverage: Completely overhaul counter assignment, using node-flow graphsZalathar-138/+128
2024-12-07coverage: Prefer to visit nodes whose predecessors have been visitedZalathar-7/+3
2024-12-04coverage: Add an extra "transcribe" step after counter creationZalathar-121/+121
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-07-13Create mapped places upon seeing them in the body.Camille GILLOT-85/+114
2024-05-29Tweak various coverage test files for slightly nicer formattingZalathar-6/+6
For coverage tests, splitting code across multiple lines often makes the resulting coverage report easier to interpret, so we force rustfmt to retain line breaks by adding dummy line comments with `//`.
2024-05-14coverage: Simplify counter expressions using simple algebraZalathar-20/+12
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.
2024-02-09Enable by default.Camille GILLOT-134/+103
2024-01-16coverage: Add `#[rustfmt::skip]` to tests with non-standard formattingZalathar-10/+10
These tests deliberately use non-standard formatting, so that the line execution counts reported by `llvm-cov` reveal additional information about where code regions begin and end.
2023-11-25coverage: Simplify building coverage expressions based on sumsZalathar-9/+9
In some cases we need to prepare a coverage expression that is the sum of an arbitrary number of other terms. This patch simplifies the code paths that build those sums. This causes some churn in the mappings, because the previous code was building its sums in a somewhat idiosyncratic order.
2023-11-07coverage: Migrate `tests/coverage-map` into `tests/coverage`Zalathar-0/+220