@@ -747,6 +747,48 @@ def test_write_sendmsg_no_data(self):
747
747
self .assertFalse (self .sock .sendmsg .called )
748
748
self .assertEqual (list_to_buffer ([b'data' ]), transport ._buffer )
749
749
750
+ @unittest .skipUnless (selector_events ._HAS_SENDMSG , 'no sendmsg' )
751
+ def test_writelines_sendmsg_full (self ):
752
+ data = memoryview (b'data' )
753
+ self .sock .sendmsg = mock .Mock ()
754
+ self .sock .sendmsg .return_value = len (data )
755
+
756
+ transport = self .socket_transport (sendmsg = True )
757
+ transport .writelines ([data ])
758
+ self .assertTrue (self .sock .sendmsg .called )
759
+ self .assertFalse (self .loop .writers )
760
+
761
+ @unittest .skipUnless (selector_events ._HAS_SENDMSG , 'no sendmsg' )
762
+ def test_writelines_sendmsg_partial (self ):
763
+ data = memoryview (b'data' )
764
+ self .sock .sendmsg = mock .Mock ()
765
+ self .sock .sendmsg .return_value = 2
766
+
767
+ transport = self .socket_transport (sendmsg = True )
768
+ transport .writelines ([data ])
769
+ self .assertTrue (self .sock .sendmsg .called )
770
+ self .assertTrue (self .loop .writers )
771
+
772
+ def test_writelines_send_full (self ):
773
+ data = memoryview (b'data' )
774
+ self .sock .send .return_value = len (data )
775
+ self .sock .send .fileno .return_value = 7
776
+
777
+ transport = self .socket_transport ()
778
+ transport .writelines ([data ])
779
+ self .assertTrue (self .sock .send .called )
780
+ self .assertFalse (self .loop .writers )
781
+
782
+ def test_writelines_send_partial (self ):
783
+ data = memoryview (b'data' )
784
+ self .sock .send .return_value = 2
785
+ self .sock .send .fileno .return_value = 7
786
+
787
+ transport = self .socket_transport ()
788
+ transport .writelines ([data ])
789
+ self .assertTrue (self .sock .send .called )
790
+ self .assertTrue (self .loop .writers )
791
+
750
792
@unittest .skipUnless (selector_events ._HAS_SENDMSG , 'no sendmsg' )
751
793
def test_write_sendmsg_full (self ):
752
794
data = memoryview (b'data' )
0 commit comments