@@ -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
1735fn 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]
7894fn 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]
101117fn 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]
106122fn 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]
111127fn parse_error_test ( ) {
112- run_test_time ( & [ ] , "" , "not provided" , 0 ) ;
128+ run_test_time_error_only ( & [ ] , "" , "not provided" , 0 ) ;
113129}
114130
115131#[ test]
116132fn 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}
0 commit comments