File tree Expand file tree Collapse file tree 1 file changed +8
-13
lines changed
Expand file tree Collapse file tree 1 file changed +8
-13
lines changed Original file line number Diff line number Diff line change @@ -106,30 +106,19 @@ impl FromStr for CacheTargetParams {
106106
107107 let feature_args: Vec < String > = if num_feature_args == 0 {
108108 vec ! [ ]
109- } else if vals . as_slice ( ) . get ( 5 + num_feature_args ) . is_some ( ) {
109+ } else {
110110 vals[ 6 ..6 + num_feature_args]
111111 . iter ( )
112112 . map ( |x| ( * x) . to_string ( ) )
113113 . collect ( )
114- } else {
115- let err_msg = format ! (
116- "Expected {} feature arguments but found {}" ,
117- vals[ 5 ] ,
118- vals. len( ) - 6
119- ) ;
120- return Err ( DmError :: Dm ( ErrorEnum :: Invalid , err_msg) ) ;
121114 } ;
122115
123116 let end_feature_args_index = 6 + num_feature_args;
124117
125118 let policy = vals[ end_feature_args_index] . to_owned ( ) ;
126119
127120 if vals. len ( ) <= end_feature_args_index + 1 {
128- let err_msg = format ! (
129- "Expected {} feature arguments but found {}" ,
130- vals[ 5 ] ,
131- vals. len( ) - 6
132- ) ;
121+ let err_msg = format ! ( "Expected more arguments than were provided" , ) ;
133122 return Err ( DmError :: Dm ( ErrorEnum :: Invalid , err_msg) ) ;
134123 }
135124
@@ -1111,4 +1100,10 @@ mod tests {
11111100 . parse :: < CacheTargetParams > ( ) ;
11121101 assert_matches ! ( result, Err ( DmError :: Dm ( ErrorEnum :: Invalid , _) ) ) ;
11131102 }
1103+
1104+ #[ test]
1105+ fn test_cache_target_params_less_than_8_values ( ) {
1106+ let result = "cache 42:42 42:43 42:44 16 1 writethrough" . parse :: < CacheTargetParams > ( ) ;
1107+ assert_matches ! ( result, Err ( DmError :: Dm ( ErrorEnum :: Invalid , _) ) ) ;
1108+ }
11141109}
You can’t perform that action at this time.
0 commit comments