@@ -317,227 +317,3 @@ where
317317 Errno :: result( res)
318318}
319319}
320-
321- #[ cfg( test) ]
322- mod tests {
323- use super :: * ;
324- use crate :: sys:: time:: { TimeVal , TimeValLike } ;
325- use crate :: unistd:: { pipe, write} ;
326- use std:: os:: unix:: io:: { AsFd , RawFd } ;
327-
328- #[ test]
329- fn fdset_insert ( ) {
330- let mut fd_set = FdSet :: new ( ) ;
331-
332- for i in 0 ..FD_SETSIZE {
333- let borrowed_i = unsafe { BorrowedFd :: borrow_raw ( i as RawFd ) } ;
334- assert ! ( !fd_set. contains( borrowed_i) ) ;
335- }
336-
337- let fd_seven = unsafe { BorrowedFd :: borrow_raw ( 7 ) } ;
338- fd_set. insert ( fd_seven) ;
339-
340- assert ! ( fd_set. contains( fd_seven) ) ;
341- }
342-
343- #[ test]
344- fn fdset_remove ( ) {
345- let mut fd_set = FdSet :: new ( ) ;
346-
347- for i in 0 ..FD_SETSIZE {
348- let borrowed_i = unsafe { BorrowedFd :: borrow_raw ( i as RawFd ) } ;
349- assert ! ( !fd_set. contains( borrowed_i) ) ;
350- }
351-
352- let fd_seven = unsafe { BorrowedFd :: borrow_raw ( 7 ) } ;
353- fd_set. insert ( fd_seven) ;
354- fd_set. remove ( fd_seven) ;
355-
356- for i in 0 ..FD_SETSIZE {
357- let borrowed_i = unsafe { BorrowedFd :: borrow_raw ( i as RawFd ) } ;
358- assert ! ( !fd_set. contains( borrowed_i) ) ;
359- }
360- }
361-
362- #[ test]
363- #[ allow( non_snake_case) ]
364- fn fdset_clear ( ) {
365- let mut fd_set = FdSet :: new ( ) ;
366- let fd_one = unsafe { BorrowedFd :: borrow_raw ( 1 ) } ;
367- let fd_FD_SETSIZE_divided_by_two =
368- unsafe { BorrowedFd :: borrow_raw ( ( FD_SETSIZE / 2 ) as RawFd ) } ;
369- let fd_FD_SETSIZE_minus_one =
370- unsafe { BorrowedFd :: borrow_raw ( ( FD_SETSIZE - 1 ) as RawFd ) } ;
371- fd_set. insert ( fd_one) ;
372- fd_set. insert ( fd_FD_SETSIZE_divided_by_two) ;
373- fd_set. insert ( fd_FD_SETSIZE_minus_one) ;
374-
375- fd_set. clear ( ) ;
376-
377- for i in 0 ..FD_SETSIZE {
378- let borrowed_i = unsafe { BorrowedFd :: borrow_raw ( i as RawFd ) } ;
379- assert ! ( !fd_set. contains( borrowed_i) ) ;
380- }
381- }
382-
383- #[ test]
384- fn fdset_highest ( ) {
385- let mut set = FdSet :: new ( ) ;
386- assert_eq ! (
387- set. highest( ) . map( |borrowed_fd| borrowed_fd. as_raw_fd( ) ) ,
388- None
389- ) ;
390- let fd_zero = unsafe { BorrowedFd :: borrow_raw ( 0 ) } ;
391- let fd_ninety = unsafe { BorrowedFd :: borrow_raw ( 90 ) } ;
392- set. insert ( fd_zero) ;
393- assert_eq ! (
394- set. highest( ) . map( |borrowed_fd| borrowed_fd. as_raw_fd( ) ) ,
395- Some ( 0 )
396- ) ;
397- set. insert ( fd_ninety) ;
398- assert_eq ! (
399- set. highest( ) . map( |borrowed_fd| borrowed_fd. as_raw_fd( ) ) ,
400- Some ( 90 )
401- ) ;
402- set. remove ( fd_zero) ;
403- assert_eq ! (
404- set. highest( ) . map( |borrowed_fd| borrowed_fd. as_raw_fd( ) ) ,
405- Some ( 90 )
406- ) ;
407- set. remove ( fd_ninety) ;
408- assert_eq ! (
409- set. highest( ) . map( |borrowed_fd| borrowed_fd. as_raw_fd( ) ) ,
410- None
411- ) ;
412-
413- let fd_four = unsafe { BorrowedFd :: borrow_raw ( 4 ) } ;
414- let fd_five = unsafe { BorrowedFd :: borrow_raw ( 5 ) } ;
415- let fd_seven = unsafe { BorrowedFd :: borrow_raw ( 7 ) } ;
416- set. insert ( fd_four) ;
417- set. insert ( fd_five) ;
418- set. insert ( fd_seven) ;
419- assert_eq ! (
420- set. highest( ) . map( |borrowed_fd| borrowed_fd. as_raw_fd( ) ) ,
421- Some ( 7 )
422- ) ;
423- }
424-
425- #[ test]
426- fn fdset_fds ( ) {
427- let mut set = FdSet :: new ( ) ;
428- let fd_zero = unsafe { BorrowedFd :: borrow_raw ( 0 ) } ;
429- let fd_ninety = unsafe { BorrowedFd :: borrow_raw ( 90 ) } ;
430- assert_eq ! (
431- set. fds( None )
432- . map( |borrowed_fd| borrowed_fd. as_raw_fd( ) )
433- . collect:: <Vec <_>>( ) ,
434- vec![ ]
435- ) ;
436- set. insert ( fd_zero) ;
437- assert_eq ! (
438- set. fds( None )
439- . map( |borrowed_fd| borrowed_fd. as_raw_fd( ) )
440- . collect:: <Vec <_>>( ) ,
441- vec![ 0 ]
442- ) ;
443- set. insert ( fd_ninety) ;
444- assert_eq ! (
445- set. fds( None )
446- . map( |borrowed_fd| borrowed_fd. as_raw_fd( ) )
447- . collect:: <Vec <_>>( ) ,
448- vec![ 0 , 90 ]
449- ) ;
450-
451- // highest limit
452- assert_eq ! (
453- set. fds( Some ( 89 ) )
454- . map( |borrowed_fd| borrowed_fd. as_raw_fd( ) )
455- . collect:: <Vec <_>>( ) ,
456- vec![ 0 ]
457- ) ;
458- assert_eq ! (
459- set. fds( Some ( 90 ) )
460- . map( |borrowed_fd| borrowed_fd. as_raw_fd( ) )
461- . collect:: <Vec <_>>( ) ,
462- vec![ 0 , 90 ]
463- ) ;
464- }
465-
466- #[ test]
467- fn test_select ( ) {
468- let ( r1, w1) = pipe ( ) . unwrap ( ) ;
469- let ( r2, _w2) = pipe ( ) . unwrap ( ) ;
470-
471- write ( & w1, b"hi!" ) . unwrap ( ) ;
472- let mut fd_set = FdSet :: new ( ) ;
473- fd_set. insert ( r1. as_fd ( ) ) ;
474- fd_set. insert ( r2. as_fd ( ) ) ;
475-
476- let mut timeout = TimeVal :: seconds ( 10 ) ;
477- assert_eq ! (
478- 1 ,
479- select( None , & mut fd_set, None , None , & mut timeout) . unwrap( )
480- ) ;
481- assert ! ( fd_set. contains( r1. as_fd( ) ) ) ;
482- assert ! ( !fd_set. contains( r2. as_fd( ) ) ) ;
483- }
484-
485- #[ test]
486- fn test_select_nfds ( ) {
487- let ( r1, w1) = pipe ( ) . unwrap ( ) ;
488- let ( r2, _w2) = pipe ( ) . unwrap ( ) ;
489-
490- write ( & w1, b"hi!" ) . unwrap ( ) ;
491- let mut fd_set = FdSet :: new ( ) ;
492- fd_set. insert ( r1. as_fd ( ) ) ;
493- fd_set. insert ( r2. as_fd ( ) ) ;
494-
495- let mut timeout = TimeVal :: seconds ( 10 ) ;
496- {
497- assert_eq ! (
498- 1 ,
499- select(
500- Some (
501- fd_set
502- . highest( )
503- . map( |borrowed_fd| borrowed_fd. as_raw_fd( ) )
504- . unwrap( )
505- + 1
506- ) ,
507- & mut fd_set,
508- None ,
509- None ,
510- & mut timeout
511- )
512- . unwrap( )
513- ) ;
514- }
515- assert ! ( fd_set. contains( r1. as_fd( ) ) ) ;
516- assert ! ( !fd_set. contains( r2. as_fd( ) ) ) ;
517- }
518-
519- #[ test]
520- fn test_select_nfds2 ( ) {
521- let ( r1, w1) = pipe ( ) . unwrap ( ) ;
522- write ( & w1, b"hi!" ) . unwrap ( ) ;
523- let ( r2, _w2) = pipe ( ) . unwrap ( ) ;
524- let mut fd_set = FdSet :: new ( ) ;
525- fd_set. insert ( r1. as_fd ( ) ) ;
526- fd_set. insert ( r2. as_fd ( ) ) ;
527-
528- let mut timeout = TimeVal :: seconds ( 10 ) ;
529- assert_eq ! (
530- 1 ,
531- select(
532- std:: cmp:: max( r1. as_raw_fd( ) , r2. as_raw_fd( ) ) + 1 ,
533- & mut fd_set,
534- None ,
535- None ,
536- & mut timeout
537- )
538- . unwrap( )
539- ) ;
540- assert ! ( fd_set. contains( r1. as_fd( ) ) ) ;
541- assert ! ( !fd_set. contains( r2. as_fd( ) ) ) ;
542- }
543- }
0 commit comments