@@ -747,6 +747,48 @@ def test_write_sendmsg_no_data(self):
747747 self .assertFalse (self .sock .sendmsg .called )
748748 self .assertEqual (list_to_buffer ([b'data' ]), transport ._buffer )
749749
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+
750792 @unittest .skipUnless (selector_events ._HAS_SENDMSG , 'no sendmsg' )
751793 def test_write_sendmsg_full (self ):
752794 data = memoryview (b'data' )
0 commit comments