@@ -3,18 +3,15 @@ use std::str::FromStr;
33
44/// Specifies which type of failures should cause a non-zero exit code.
55///
6- /// - `All`: Exit non-zero on any failure (program panics or invariant failures)
7- /// - `Invariants`: Exit non-zero only on invariant/assert failures in fuzz tests
8- /// - `Panics`: Exit non-zero only on program panics (program failed to complete)
6+ /// - `All`: Exit non-zero on any policy failure (program panics or custom invariant failures)
7+ /// - `Invariants`: Exit non-zero only on custom invariant failures in fuzz tests
98#[ derive( Debug , Clone , Copy , PartialEq , Eq , Default ) ]
109pub enum ExitCodeMode {
11- /// Exit non-zero on any failure (default behavior when exit code is enabled)
10+ /// Exit non-zero on any policy failure (default behavior when exit code is enabled)
1211 #[ default]
1312 All ,
14- /// Exit non-zero only on invariant/assert failures in fuzz tests
13+ /// Exit non-zero only on custom invariant failures in fuzz tests
1514 Invariants ,
16- /// Exit non-zero only on program panics (program failed to complete)
17- Panics ,
1815}
1916
2017impl ExitCodeMode {
@@ -23,19 +20,13 @@ impl ExitCodeMode {
2320 match self {
2421 ExitCodeMode :: All => "all" ,
2522 ExitCodeMode :: Invariants => "invariants" ,
26- ExitCodeMode :: Panics => "panics" ,
2723 }
2824 }
2925
3026 /// Check if this mode should trigger exit code for invariant failures
3127 pub fn triggers_on_invariants ( & self ) -> bool {
3228 matches ! ( self , ExitCodeMode :: All | ExitCodeMode :: Invariants )
3329 }
34-
35- /// Check if this mode should trigger exit code for program panics
36- pub fn triggers_on_panics ( & self ) -> bool {
37- matches ! ( self , ExitCodeMode :: All | ExitCodeMode :: Panics )
38- }
3930}
4031
4132impl fmt:: Display for ExitCodeMode {
@@ -51,9 +42,8 @@ impl FromStr for ExitCodeMode {
5142 match s. to_lowercase ( ) . as_str ( ) {
5243 "all" => Ok ( ExitCodeMode :: All ) ,
5344 "invariants" => Ok ( ExitCodeMode :: Invariants ) ,
54- "panics" => Ok ( ExitCodeMode :: Panics ) ,
5545 _ => Err ( format ! (
56- "Invalid exit code mode '{}'. Valid values are: all, invariants, panics " ,
46+ "Invalid exit code mode '{}'. Valid values are: all, invariants" ,
5747 s
5848 ) ) ,
5949 }
@@ -71,23 +61,13 @@ mod tests {
7161 ExitCodeMode :: from_str( "invariants" ) . unwrap( ) ,
7262 ExitCodeMode :: Invariants
7363 ) ;
74- assert_eq ! (
75- ExitCodeMode :: from_str( "panics" ) . unwrap( ) ,
76- ExitCodeMode :: Panics
77- ) ;
7864 assert_eq ! ( ExitCodeMode :: from_str( "ALL" ) . unwrap( ) , ExitCodeMode :: All ) ;
7965 assert ! ( ExitCodeMode :: from_str( "invalid" ) . is_err( ) ) ;
8066 }
8167
8268 #[ test]
8369 fn test_triggers ( ) {
8470 assert ! ( ExitCodeMode :: All . triggers_on_invariants( ) ) ;
85- assert ! ( ExitCodeMode :: All . triggers_on_panics( ) ) ;
86-
8771 assert ! ( ExitCodeMode :: Invariants . triggers_on_invariants( ) ) ;
88- assert ! ( !ExitCodeMode :: Invariants . triggers_on_panics( ) ) ;
89-
90- assert ! ( !ExitCodeMode :: Panics . triggers_on_invariants( ) ) ;
91- assert ! ( ExitCodeMode :: Panics . triggers_on_panics( ) ) ;
9272 }
9373}
0 commit comments