@@ -208,13 +208,16 @@ where
208208
209209#[ cfg( test) ]
210210mod tests {
211+
211212 use std:: time:: Duration ;
212213
213- use async_std :: {
214- future :: timeout ,
214+ use quickcheck :: { Arbitrary , Gen , GenRange } ;
215+ use tokio :: {
215216 net:: { TcpListener , TcpStream } ,
217+ runtime:: Runtime ,
218+ time:: timeout,
216219 } ;
217- use quickcheck :: { Arbitrary , Gen , GenRange } ;
220+ use tokio_util :: compat :: TokioAsyncReadCompatExt ;
218221 use tracing:: metadata:: LevelFilter ;
219222 use tracing_subscriber:: EnvFilter ;
220223
@@ -226,7 +229,7 @@ mod tests {
226229 async fn run ( version : Version ) {
227230 let ( client_connection, server_connection) = futures_ringbuf:: Endpoint :: pair ( 100 , 100 ) ;
228231
229- let server = async_std :: task:: spawn ( async move {
232+ let server = tokio :: task:: spawn ( async move {
230233 let protos = vec ! [ "/proto1" , "/proto2" ] ;
231234 let ( proto, mut io) = listener_select_proto ( server_connection, protos)
232235 . await
@@ -242,7 +245,7 @@ mod tests {
242245 io. flush ( ) . await . unwrap ( ) ;
243246 } ) ;
244247
245- let client = async_std :: task:: spawn ( async move {
248+ let client = tokio :: task:: spawn ( async move {
246249 let protos = vec ! [ "/proto3" , "/proto2" ] ;
247250 let ( proto, mut io) = dialer_select_proto ( client_connection, protos, version)
248251 . await
@@ -258,12 +261,13 @@ mod tests {
258261 assert_eq ! ( out, b"pong" ) ;
259262 } ) ;
260263
261- server. await ;
262- client. await ;
264+ server. await . unwrap ( ) ;
265+ client. await . unwrap ( ) ;
263266 }
264267
265- async_std:: task:: block_on ( run ( Version :: V1 ) ) ;
266- async_std:: task:: block_on ( run ( Version :: V1Lazy ) ) ;
268+ let rt = Runtime :: new ( ) . unwrap ( ) ;
269+ rt. block_on ( run ( Version :: V1 ) ) ;
270+ rt. block_on ( run ( Version :: V1Lazy ) ) ;
267271 }
268272
269273 /// Tests the expected behaviour of failed negotiations.
@@ -283,12 +287,13 @@ mod tests {
283287 )
284288 . try_init ( ) ;
285289
286- async_std:: task:: block_on ( async move {
290+ let rt = Runtime :: new ( ) . unwrap ( ) ;
291+ rt. block_on ( async move {
287292 let listener = TcpListener :: bind ( "0.0.0.0:0" ) . await . unwrap ( ) ;
288293 let addr = listener. local_addr ( ) . unwrap ( ) ;
289294
290- let server = async_std :: task:: spawn ( async move {
291- let server_connection = listener. accept ( ) . await . unwrap ( ) . 0 ;
295+ let server = tokio :: task:: spawn ( async move {
296+ let server_connection = listener. accept ( ) . await . unwrap ( ) . 0 . compat ( ) ;
292297
293298 let io = match timeout (
294299 Duration :: from_secs ( 2 ) ,
@@ -309,8 +314,8 @@ mod tests {
309314 }
310315 } ) ;
311316
312- let client = async_std :: task:: spawn ( async move {
313- let client_connection = TcpStream :: connect ( addr) . await . unwrap ( ) ;
317+ let client = tokio :: task:: spawn ( async move {
318+ let client_connection = TcpStream :: connect ( addr) . await . unwrap ( ) . compat ( ) ;
314319
315320 let mut io = match timeout (
316321 Duration :: from_secs ( 2 ) ,
@@ -336,8 +341,8 @@ mod tests {
336341 }
337342 } ) ;
338343
339- server. await ;
340- client. await ;
344+ server. await . unwrap ( ) ;
345+ client. await . unwrap ( ) ;
341346
342347 tracing:: info!( "---------------------------------------" )
343348 } ) ;
@@ -348,12 +353,12 @@ mod tests {
348353 . quickcheck ( prop as fn ( _, _, _, _) ) ;
349354 }
350355
351- #[ async_std :: test]
356+ #[ tokio :: test]
352357 async fn v1_lazy_do_not_wait_for_negotiation_on_poll_close ( ) {
353358 let ( client_connection, _server_connection) =
354359 futures_ringbuf:: Endpoint :: pair ( 1024 * 1024 , 1 ) ;
355360
356- let client = async_std :: task:: spawn ( async move {
361+ let client = tokio :: task:: spawn ( async move {
357362 // Single protocol to allow for lazy (or optimistic) protocol negotiation.
358363 let protos = vec ! [ "/proto1" ] ;
359364 let ( proto, mut io) = dialer_select_proto ( client_connection, protos, Version :: V1Lazy )
@@ -366,9 +371,12 @@ mod tests {
366371 io. close ( ) . await . unwrap ( ) ;
367372 } ) ;
368373
369- async_std:: future:: timeout ( Duration :: from_secs ( 10 ) , client)
370- . await
371- . unwrap ( ) ;
374+ match tokio:: time:: timeout ( Duration :: from_secs ( 10 ) , client) . await {
375+ Ok ( join_result) => join_result. expect ( "Client task should complete successfully" ) ,
376+ Err ( _elapsed) => {
377+ panic ! ( "Expected the client task to complete before timeout" ) ;
378+ }
379+ }
372380 }
373381
374382 #[ derive( Clone , Debug ) ]
0 commit comments