File tree 1 file changed +18
-1
lines changed
1 file changed +18
-1
lines changed Original file line number Diff line number Diff line change @@ -29,7 +29,7 @@ fn send_recv() -> io::Result<()> {
29
29
}
30
30
31
31
#[ test]
32
- fn into_raw_fd ( ) -> io:: Result < ( ) > {
32
+ fn into_raw_fd_datagram ( ) -> io:: Result < ( ) > {
33
33
use async_std:: os:: unix:: io:: { FromRawFd , IntoRawFd } ;
34
34
task:: block_on ( async {
35
35
let ( socket1, socket2) = UnixDatagram :: pair ( ) . unwrap ( ) ;
@@ -45,6 +45,23 @@ fn into_raw_fd() -> io::Result<()> {
45
45
} )
46
46
}
47
47
48
+ #[ test]
49
+ fn into_raw_fd_stream ( ) -> io:: Result < ( ) > {
50
+ use async_std:: os:: unix:: io:: { FromRawFd , IntoRawFd } ;
51
+ task:: block_on ( async {
52
+ let ( mut socket1, socket2) = UnixStream :: pair ( ) . unwrap ( ) ;
53
+ socket1. write ( JULIUS_CAESAR ) . await ?;
54
+
55
+ let mut buf = vec ! [ 0 ; 1024 ] ;
56
+
57
+ let mut socket2 = unsafe { UnixStream :: from_raw_fd ( socket2. into_raw_fd ( ) ) } ;
58
+ let n = socket2. read ( & mut buf) . await ?;
59
+ assert_eq ! ( & buf[ ..n] , JULIUS_CAESAR ) ;
60
+
61
+ Ok ( ( ) )
62
+ } )
63
+ }
64
+
48
65
const PING : & [ u8 ] = b"ping" ;
49
66
const PONG : & [ u8 ] = b"pong" ;
50
67
const TEST_TIMEOUT : Duration = Duration :: from_secs ( 3 ) ;
You can’t perform that action at this time.
0 commit comments