@@ -4,13 +4,12 @@ use std::{
4
4
time:: Duration ,
5
5
} ;
6
6
7
- #[ test]
8
- fn run_sync_example ( ) -> Result < ( ) , Box < dyn std:: error:: Error > > {
7
+ fn run_example ( server : & str , client : & str ) -> Result < ( ) , Box < dyn std:: error:: Error > > {
9
8
// start the server and give it a moment to start.
10
- let mut server = run_example ( " server" ) . spawn ( ) . unwrap ( ) ;
9
+ let mut server = do_run_example ( server) . spawn ( ) . unwrap ( ) ;
11
10
std:: thread:: sleep ( Duration :: from_secs ( 2 ) ) ;
12
11
13
- let mut client = run_example ( " client" ) . spawn ( ) . unwrap ( ) ;
12
+ let mut client = do_run_example ( client) . spawn ( ) . unwrap ( ) ;
14
13
let mut client_succeeded = false ;
15
14
let start = std:: time:: Instant :: now ( ) ;
16
15
let timeout = Duration :: from_secs ( 600 ) ;
@@ -56,7 +55,7 @@ fn run_sync_example() -> Result<(), Box<dyn std::error::Error>> {
56
55
Ok ( ( ) )
57
56
}
58
57
59
- fn run_example ( example : & str ) -> Command {
58
+ fn do_run_example ( example : & str ) -> Command {
60
59
let mut cmd = Command :: new ( "cargo" ) ;
61
60
cmd. arg ( "run" )
62
61
. arg ( "--example" )
@@ -81,3 +80,14 @@ fn wait_with_output(name: &str, cmd: Child) {
81
80
println ! ( "==== {name} output end" ) ;
82
81
}
83
82
}
83
+
84
+ #[ test]
85
+ fn run_examples ( ) -> Result < ( ) , Box < dyn std:: error:: Error > > {
86
+ run_example ( "server" , "client" ) ?;
87
+ #[ cfg( unix) ]
88
+ run_example ( "async-server" , "async-client" ) ?;
89
+ #[ cfg( unix) ]
90
+ run_example ( "async-stream-server" , "async-stream-client" ) ?;
91
+
92
+ Ok ( ( ) )
93
+ }
0 commit comments