Skip to content

Commit 79e3e57

Browse files
committed
time: Fix tests
1 parent 9cd81d9 commit 79e3e57

File tree

2 files changed

+27
-11
lines changed

2 files changed

+27
-11
lines changed

datetime/tests/time/mod.rs

Lines changed: 25 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,25 @@ use std::{
1212
process::{Command, Output, Stdio},
1313
};
1414

15-
use plib::testing::TestPlan;
15+
use plib::testing::{run_test, TestPlan};
16+
17+
fn time_test(
18+
args: &[&str],
19+
expected_output: &str,
20+
expected_error: &str,
21+
expected_exit_code: i32,
22+
) {
23+
let str_args: Vec<String> = args.iter().map(|s| String::from(*s)).collect();
24+
25+
run_test(TestPlan {
26+
cmd: String::from("time"),
27+
args: str_args,
28+
stdin_data: String::new(),
29+
expected_out: String::from(expected_output),
30+
expected_err: String::from(expected_error),
31+
expected_exit_code,
32+
});
33+
}
1634

1735
fn run_test_base(cmd: &str, args: &Vec<String>, stdin_data: &[u8]) -> Output {
1836
let relpath = if cfg!(debug_assertions) {
@@ -50,7 +68,7 @@ fn get_output(plan: TestPlan) -> Output {
5068
output
5169
}
5270

53-
fn run_test_time(
71+
fn run_test_time_error_only(
5472
args: &[&str],
5573
expected_output: &str,
5674
expected_error: &str,
@@ -67,16 +85,14 @@ fn run_test_time(
6785
expected_exit_code,
6886
});
6987

70-
let stdout = String::from_utf8_lossy(&output.stdout);
7188
let stderr = String::from_utf8_lossy(&output.stderr);
7289

73-
assert_eq!(stdout, expected_output);
7490
assert!(stderr.contains(expected_error));
7591
}
7692

7793
#[test]
7894
fn test_smoke_help() {
79-
run_test_time(
95+
time_test(
8096
&["--help"],
8197
"\
8298
time - time a simple command or give resource usage
@@ -99,20 +115,20 @@ Options:
99115

100116
#[test]
101117
fn simple_test() {
102-
run_test_time(&["--", "ls", "-l"], "", "User time", 0);
118+
run_test_time_error_only(&["--", "ls", "-l"], "", "User time", 0);
103119
}
104120

105121
#[test]
106122
fn p_test() {
107-
run_test_time(&["-p", "--", "ls", "-l"], "", "user", 0);
123+
run_test_time_error_only(&["-p", "--", "ls", "-l"], "", "user", 0);
108124
}
109125

110126
#[test]
111127
fn parse_error_test() {
112-
run_test_time(&[], "", "not provided", 0);
128+
run_test_time_error_only(&[], "", "not provided", 0);
113129
}
114130

115131
#[test]
116132
fn command_error_test() {
117-
run_test_time(&["-s", "ls", "-l"], "", "unexpected argument '-s' found", 0);
133+
run_test_time_error_only(&["-s", "ls", "-l"], "", "unexpected argument '-s' found", 0);
118134
}

datetime/time.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,10 @@ struct Args {
4545
arguments: Vec<String>,
4646

4747
#[arg(short, long, help = gettext("Print help"), action = clap::ArgAction::HelpLong)]
48-
help: bool,
48+
help: Option<bool>,
4949

5050
#[arg(short = 'V', long, help = gettext("Print version"), action = clap::ArgAction::Version)]
51-
version: bool,
51+
version: Option<bool>,
5252
}
5353

5454
enum TimeError {

0 commit comments

Comments
 (0)