@@ -887,9 +887,6 @@ def connect():
887
887
888
888
@unittest .skipUnless (sys .platform != 'win32' ,
889
889
"Don't support pipes for Windows" )
890
- # Issue #19293
891
- @unittest .skipIf (sys .platform .startswith ("aix" ),
892
- 'cannot be interrupted with signal on AIX' )
893
890
def test_write_pipe_disconnect_on_close (self ):
894
891
proto = None
895
892
transport = None
@@ -899,8 +896,8 @@ def factory():
899
896
proto = MyWritePipeProto (loop = self .loop )
900
897
return proto
901
898
902
- rpipe , wpipe = os . pipe ()
903
- pipeobj = io .open (wpipe , 'wb' , 1024 )
899
+ rsock , wsock = self . loop . _socketpair ()
900
+ pipeobj = io .open (wsock . detach () , 'wb' , 1024 )
904
901
905
902
@tasks .coroutine
906
903
def connect ():
@@ -916,11 +913,10 @@ def connect():
916
913
self .assertEqual ('CONNECTED' , proto .state )
917
914
918
915
transport .write (b'1' )
919
- test_utils .run_briefly (self .loop )
920
- data = os .read (rpipe , 1024 )
916
+ data = self .loop .run_until_complete (self .loop .sock_recv (rsock , 1024 ))
921
917
self .assertEqual (b'1' , data )
922
918
923
- os .close (rpipe )
919
+ rsock .close ()
924
920
925
921
self .loop .run_until_complete (proto .done )
926
922
self .assertEqual ('CLOSED' , proto .state )
0 commit comments