@@ -20,63 +20,64 @@ async fn test_tcp_sample_application(family: IpAddressFamily, bind_address: IpSo
2020
2121 let addr = listener. local_address ( ) . unwrap ( ) ;
2222
23- {
24- let client = TcpSocket :: new ( family ) ;
25- client. connect ( addr ) . await . unwrap ( ) ;
26- let ( mut data_tx , data_rx ) = wit_stream :: new ( ) ;
27-
28- join ! (
29- async {
30- client. send( data_rx) . await . unwrap( ) ;
31- } ,
32- async {
33- data_tx. send( vec![ ] ) . await . unwrap( ) ;
34- data_tx. send( first_message. into( ) ) . await . unwrap( ) ;
35- drop( data_tx) ;
36- }
37- ) ;
38- }
39-
40- {
41- let mut sock = accept . next ( ) . await . unwrap ( ) . unwrap ( ) ;
42- assert_eq ! ( sock. len ( ) , 1 ) ;
43- let sock = sock . pop ( ) . unwrap ( ) ;
44-
45- let ( mut data_rx , fut ) = sock . receive ( ) ;
46- let data = data_rx . next ( ) . await . unwrap ( ) . unwrap ( ) ;
47-
48- // Check that we sent and received our message!
49- assert_eq ! ( data , first_message ) ; // Not guaranteed to work but should work in practice.
50- fut . await . unwrap ( ) . unwrap ( ) . unwrap ( )
51- }
23+ join ! (
24+ async {
25+ let client = TcpSocket :: new ( family ) ;
26+ client . connect ( addr ) . await . unwrap ( ) ;
27+ let ( mut data_tx , data_rx ) = wit_stream :: new ( ) ;
28+ join!(
29+ async {
30+ client. send( data_rx) . await . unwrap( ) ;
31+ } ,
32+ async {
33+ data_tx. send( vec![ ] ) . await . unwrap( ) ;
34+ data_tx. send( first_message. into( ) ) . await . unwrap( ) ;
35+ drop( data_tx) ;
36+ }
37+ ) ;
38+ } ,
39+ async {
40+ let mut sock = accept . next ( ) . await . unwrap ( ) . unwrap ( ) ;
41+ assert_eq! ( sock . len ( ) , 1 ) ;
42+ let sock = sock . pop ( ) . unwrap ( ) ;
43+
44+ let ( mut data_rx , fut ) = sock . receive ( ) ;
45+ let data = data_rx . next ( ) . await . unwrap ( ) . unwrap ( ) ;
46+
47+ // Check that we sent and received our message!
48+ assert_eq! ( data , first_message ) ; // Not guaranteed to work but should work in practice.
49+ fut . await . unwrap ( ) . unwrap ( ) . unwrap ( )
50+ } ,
51+ ) ;
5252
5353 // Another client
54- {
55- let client = TcpSocket :: new ( family) ;
56- client. connect ( addr) . await . unwrap ( ) ;
57- let ( mut data_tx, data_rx) = wit_stream:: new ( ) ;
58- join ! (
59- async {
60- client. send( data_rx) . await . unwrap( ) ;
61- } ,
62- async {
63- data_tx. send( second_message. into( ) ) . await . unwrap( ) ;
64- drop( data_tx) ;
65- }
66- ) ;
67- }
68-
69- {
70- let mut sock = accept. next ( ) . await . unwrap ( ) . unwrap ( ) ;
71- assert_eq ! ( sock. len( ) , 1 ) ;
72- let sock = sock. pop ( ) . unwrap ( ) ;
73- let ( mut data_rx, fut) = sock. receive ( ) ;
74- let data = data_rx. next ( ) . await . unwrap ( ) . unwrap ( ) ;
75-
76- // Check that we sent and received our message!
77- assert_eq ! ( data, second_message) ; // Not guaranteed to work but should work in practice.
78- fut. await . unwrap ( ) . unwrap ( ) . unwrap ( )
79- }
54+ join ! (
55+ async {
56+ let client = TcpSocket :: new( family) ;
57+ client. connect( addr) . await . unwrap( ) ;
58+ let ( mut data_tx, data_rx) = wit_stream:: new( ) ;
59+ join!(
60+ async {
61+ client. send( data_rx) . await . unwrap( ) ;
62+ } ,
63+ async {
64+ data_tx. send( second_message. into( ) ) . await . unwrap( ) ;
65+ drop( data_tx) ;
66+ }
67+ ) ;
68+ } ,
69+ async {
70+ let mut sock = accept. next( ) . await . unwrap( ) . unwrap( ) ;
71+ assert_eq!( sock. len( ) , 1 ) ;
72+ let sock = sock. pop( ) . unwrap( ) ;
73+ let ( mut data_rx, fut) = sock. receive( ) ;
74+ let data = data_rx. next( ) . await . unwrap( ) . unwrap( ) ;
75+
76+ // Check that we sent and received our message!
77+ assert_eq!( data, second_message) ; // Not guaranteed to work but should work in practice.
78+ fut. await . unwrap( ) . unwrap( ) . unwrap( )
79+ }
80+ ) ;
8081}
8182
8283impl test_programs:: p3:: exports:: wasi:: cli:: run:: Guest for Component {
0 commit comments