about summary refs log tree commit diff
path: root/tests/mir-opt/coverage/instrument_coverage_cleanup.rs
diff options
context:
space:
mode:
authorZalathar <Zalathar@users.noreply.github.com>2024-04-19 14:50:25 +1000
committerZalathar <Zalathar@users.noreply.github.com>2024-04-22 21:55:33 +1000
commitda37b14121d0fed6e49a4ed27abd2b9e7fc1c486 (patch)
tree479693a8ccb2fefffa7e03c50b492186160f5a4d /tests/mir-opt/coverage/instrument_coverage_cleanup.rs
parent3de87feba23c6b9df520f284b51390c02ea8d12a (diff)
downloadrust-da37b14121d0fed6e49a4ed27abd2b9e7fc1c486.tar.gz
rust-da37b14121d0fed6e49a4ed27abd2b9e7fc1c486.zip
coverage: Move mir-opt coverage tests into a subdirectory
Diffstat (limited to 'tests/mir-opt/coverage/instrument_coverage_cleanup.rs')
-rw-r--r--tests/mir-opt/coverage/instrument_coverage_cleanup.rs21
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/mir-opt/coverage/instrument_coverage_cleanup.rs b/tests/mir-opt/coverage/instrument_coverage_cleanup.rs
new file mode 100644
index 00000000000..acc544a28af
--- /dev/null
+++ b/tests/mir-opt/coverage/instrument_coverage_cleanup.rs
@@ -0,0 +1,21 @@
+// Test that CleanupPostBorrowck cleans up the marker statements that are
+// inserted during MIR building (after InstrumentCoverage is done with them),
+// but leaves the statements that were added by InstrumentCoverage.
+//
+// Removed statement kinds: BlockMarker, SpanMarker
+// Retained statement kinds: CounterIncrement, ExpressionUsed
+
+//@ test-mir-pass: InstrumentCoverage
+//@ compile-flags: -Cinstrument-coverage -Zcoverage-options=branch -Zno-profiler-runtime
+
+// EMIT_MIR instrument_coverage_cleanup.main.InstrumentCoverage.diff
+// EMIT_MIR instrument_coverage_cleanup.main.CleanupPostBorrowck.diff
+fn main() {
+    if !core::hint::black_box(true) {}
+}
+
+// CHECK-NOT: Coverage::BlockMarker
+// CHECK-NOT: Coverage::SpanMarker
+// CHECK:     Coverage::CounterIncrement
+// CHECK-NOT: Coverage::BlockMarker
+// CHECK-NOT: Coverage::SpanMarker