1
1
use assert_cmd:: cargo:: CommandCargoExt ;
2
2
use retry:: delay:: Fixed ;
3
3
use retry:: retry;
4
- use std:: io:: Write ;
5
4
use std:: process:: Command ;
6
5
7
6
struct DropChild ( std:: process:: Child ) ;
@@ -123,24 +122,17 @@ async fn port_query_with_async_retry() {
123
122
fn proc_query_by_name ( ) {
124
123
use proc_ctl:: ProcQuery ;
125
124
126
- let binder = Command :: cargo_bin ( "waiter" ) . unwrap ( ) ;
127
- let mut handle = DropChild :: spawn ( binder) ;
125
+ let _cmd = escargot:: CargoBuild :: new ( ) . bin ( "waiter" ) . run ( ) . unwrap ( ) . command ( ) . spawn ( ) . unwrap ( ) ;
128
126
129
127
let query = ProcQuery :: new ( ) . process_name ( "waiter" ) ;
130
128
131
- let processes = retry ( Fixed :: from_millis ( 100 ) . take ( 1000 ) , move || {
129
+ let processes = retry ( Fixed :: from_millis ( 100 ) . take ( 10 ) , move || {
132
130
match query. list_processes ( ) . ok ( ) {
133
131
Some ( processes) if !processes. is_empty ( ) => Ok ( processes) ,
134
132
_ => Err ( "No processes found" ) ,
135
133
}
136
134
} )
137
- . expect ( "Failed to find process in time" ) ;
138
-
139
- if let Some ( stdin) = handle. stdin . as_mut ( ) {
140
- stdin. write_all ( b"\r \n " ) . unwrap ( ) ;
141
- } else {
142
- handle. kill ( ) . unwrap ( ) ;
143
- }
135
+ . expect ( "Failed to find process in time" ) ;
144
136
145
137
assert_eq ! ( 1 , processes. len( ) ) ;
146
138
}
@@ -166,7 +158,7 @@ fn proc_query_for_children() {
166
158
. children ( )
167
159
. map ( |v| v. into_iter ( ) . map ( |p| p. name ) . collect :: < Vec < String > > ( ) )
168
160
} )
169
- . unwrap ( ) ;
161
+ . unwrap ( ) ;
170
162
171
163
handle. kill ( ) . unwrap ( ) ;
172
164
0 commit comments