Skip to content

Commit 6f8f666

Browse files
committed
Remove unnecessary return of an error, add another test, make error message broader
1 parent 7aa411a commit 6f8f666

File tree

1 file changed

+8
-13
lines changed

1 file changed

+8
-13
lines changed

src/cachedev.rs

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff 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
}

0 commit comments

Comments
 (0)