]> git.lizzy.rs Git - rust.git/blob - src/test/run-make/coverage/panic_unwind.rs
Auto merge of #100395 - Dylan-DPC:rollup-ajrwo1s, r=Dylan-DPC
[rust.git] / src / test / run-make / coverage / panic_unwind.rs
1 #![allow(unused_assignments)]
2 // expect-exit-status-101
3
4 fn might_panic(should_panic: bool) {
5     if should_panic {
6         println!("panicking...");
7         panic!("panics");
8     } else {
9         println!("Don't Panic");
10     }
11 }
12
13 fn main() -> Result<(), u8> {
14     let mut countdown = 10;
15     while countdown > 0 {
16         if countdown == 1 {
17             might_panic(true);
18         } else if countdown < 5 {
19             might_panic(false);
20         }
21         countdown -= 1;
22     }
23     Ok(())
24 }
25
26 // Notes:
27 //   1. Compare this program and its coverage results to those of the similar tests `abort.rs` and
28 //      `try_error_result.rs`.
29 //   2. Since the `panic_unwind.rs` test is allowed to unwind, it is also allowed to execute the
30 //      normal program exit cleanup, including writing out the current values of the coverage
31 //      counters.