diff options
Diffstat (limited to 'tests/run-coverage/abort.coverage')
-rw-r--r-- | tests/run-coverage/abort.coverage | 69 |
1 files changed, 0 insertions, 69 deletions
diff --git a/tests/run-coverage/abort.coverage b/tests/run-coverage/abort.coverage deleted file mode 100644 index ceef63867..000000000 --- a/tests/run-coverage/abort.coverage +++ /dev/null @@ -1,69 +0,0 @@ - LL| |#![feature(c_unwind)] - LL| |#![allow(unused_assignments)] - LL| | - LL| 12|extern "C" fn might_abort(should_abort: bool) { - LL| 12| if should_abort { - LL| 0| println!("aborting..."); - LL| 0| panic!("panics and aborts"); - LL| 12| } else { - LL| 12| println!("Don't Panic"); - LL| 12| } - LL| 12|} - LL| | - LL| 1|fn main() -> Result<(), u8> { - LL| 1| let mut countdown = 10; - LL| 11| while countdown > 0 { - LL| 10| if countdown < 5 { - LL| 4| might_abort(false); - LL| 6| } - LL| | // See discussion (below the `Notes` section) on coverage results for the closing brace. - LL| 10| if countdown < 5 { might_abort(false); } // Counts for different regions on one line. - ^4 ^6 - LL| | // For the following example, the closing brace is the last character on the line. - LL| | // This shows the character after the closing brace is highlighted, even if that next - LL| | // character is a newline. - LL| 10| if countdown < 5 { might_abort(false); } - ^4 ^6 - LL| 10| countdown -= 1; - LL| | } - LL| 1| Ok(()) - LL| 1|} - LL| | - LL| |// Notes: - LL| |// 1. Compare this program and its coverage results to those of the similar tests - LL| |// `panic_unwind.rs` and `try_error_result.rs`. - LL| |// 2. This test confirms the coverage generated when a program includes `UnwindAction::Terminate`. - LL| |// 3. The test does not invoke the abort. By executing to a successful completion, the coverage - LL| |// results show where the program did and did not execute. - LL| |// 4. If the program actually aborted, the coverage counters would not be saved (which "works as - LL| |// intended"). Coverage results would show no executed coverage regions. - LL| |// 6. If `should_abort` is `true` and the program aborts, the program exits with a `132` status - LL| |// (on Linux at least). - LL| | - LL| |/* - LL| | - LL| |Expect the following coverage results: - LL| | - LL| |```text - LL| | 16| 11| while countdown > 0 { - LL| | 17| 10| if countdown < 5 { - LL| | 18| 4| might_abort(false); - LL| | 19| 6| } - LL| |``` - LL| | - LL| |This is actually correct. - LL| | - LL| |The condition `countdown < 5` executed 10 times (10 loop iterations). - LL| | - LL| |It evaluated to `true` 4 times, and executed the `might_abort()` call. - LL| | - LL| |It skipped the body of the `might_abort()` call 6 times. If an `if` does not include an explicit - LL| |`else`, the coverage implementation injects a counter, at the character immediately after the `if`s - LL| |closing brace, to count the "implicit" `else`. This is the only way to capture the coverage of the - LL| |non-true condition. - LL| | - LL| |As another example of why this is important, say the condition was `countdown < 50`, which is always - LL| |`true`. In that case, we wouldn't have a test for what happens if `might_abort()` is not called. - LL| |The closing brace would have a count of `0`, highlighting the missed coverage. - LL| |*/ - |