Skip to content

Commit 47d6fdf

Browse files
kate-goldenringmxpv
authored andcommitted
Support expanded version flag in shims
Signed-off-by: Kate Goldenring <[email protected]>
1 parent f514393 commit 47d6fdf

File tree

1 file changed

+19
-1
lines changed

1 file changed

+19
-1
lines changed

crates/shim/src/args.rs

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,12 @@ pub struct Flags {
5050
pub fn parse<S: AsRef<OsStr>>(args: &[S]) -> Result<Flags> {
5151
let mut flags = Flags::default();
5252

53+
let mut version_short = false;
54+
let mut version_long = false;
5355
let args: Vec<String> = go_flag::parse_args(args, |f| {
5456
f.add_flag("debug", &mut flags.debug);
55-
f.add_flag("v", &mut flags.version);
57+
f.add_flag("v", &mut version_short);
58+
f.add_flag("version", &mut version_long);
5659
f.add_flag("namespace", &mut flags.namespace);
5760
f.add_flag("id", &mut flags.id);
5861
f.add_flag("socket", &mut flags.socket);
@@ -63,6 +66,8 @@ pub fn parse<S: AsRef<OsStr>>(args: &[S]) -> Result<Flags> {
6366
})
6467
.map_err(|e| Error::InvalidArgument(e.to_string()))?;
6568

69+
flags.version = version_short || version_long;
70+
6671
if let Some(action) = args.first() {
6772
flags.action = action.into();
6873
}
@@ -96,6 +101,7 @@ mod tests {
96101
let flags = parse(&args).unwrap();
97102

98103
assert!(flags.debug);
104+
assert!(!flags.version);
99105
assert_eq!(flags.id, "123");
100106
assert_eq!(flags.namespace, "default");
101107
assert_eq!(flags.socket, "/path/to/socket");
@@ -125,4 +131,16 @@ mod tests {
125131
assert_eq!(flags.action, "start");
126132
assert_eq!(flags.id, "");
127133
}
134+
135+
#[test]
136+
fn parse_version_long_flag() {
137+
let flags = parse(&["-version"]).unwrap();
138+
assert!(flags.version);
139+
}
140+
141+
#[test]
142+
fn parse_version_short_flag() {
143+
let flags = parse(&["-v"]).unwrap();
144+
assert!(flags.version);
145+
}
128146
}

0 commit comments

Comments
 (0)