mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-01 15:01:51 +00:00
33 lines
1.2 KiB
Plaintext
33 lines
1.2 KiB
Plaintext
1| |#![allow(unused_assignments)]
|
|
2| |// expect-exit-status-101
|
|
3| |
|
|
4| 4|fn might_panic(should_panic: bool) {
|
|
5| 4| if should_panic {
|
|
6| 1| println!("panicking...");
|
|
7| 1| panic!("panics");
|
|
8| 3| } else {
|
|
9| 3| println!("Don't Panic");
|
|
10| 3| }
|
|
11| 3|}
|
|
12| |
|
|
13| 1|fn main() -> Result<(), u8> {
|
|
14| 1| let mut countdown = 10;
|
|
15| 11| while countdown > 0 {
|
|
16| 11| if countdown == 1 {
|
|
17| 1| might_panic(true);
|
|
18| 10| } else if countdown < 5 {
|
|
19| 3| might_panic(false);
|
|
20| 6| }
|
|
21| 10| countdown -= 1;
|
|
22| | }
|
|
23| 0| Ok(())
|
|
24| 0|}
|
|
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.
|
|
|