@@ -31,6 +31,7 @@ def do_asserts_read_notimeout(self):
3131 assert self .cnt_pickup > 0 , "ev_pickup not called"
3232 assert self .did_read , "ev_read not called"
3333 assert not self .did_readerr , "ev_error called"
34+ assert self .cnt_written == 0 , "ev_written called"
3435 assert self .cnt_hup > 0 , "ev_hup not called"
3536 assert self .did_close , "ev_close not called"
3637 assert not self .did_timeout , "ev_timeout called"
@@ -40,15 +41,27 @@ def do_asserts_timeout(self):
4041 assert self .cnt_pickup > 0 , "ev_pickup not called"
4142 assert not self .did_read , "ev_read called"
4243 assert not self .did_readerr , "ev_error called"
44+ assert self .cnt_written == 0 , "ev_written called"
4345 assert self .cnt_hup == 0 , "ev_hup called"
4446 assert self .did_close , "ev_close not called"
4547 assert self .did_timeout , "ev_timeout not called"
4648
4749 def do_asserts_noread_notimeout (self ):
4850 assert self .did_start , "ev_start not called"
4951 assert self .cnt_pickup > 0 , "ev_pickup not called"
50- assert not self .did_read , "ev_read not called"
52+ assert not self .did_read , "ev_read called"
53+ assert not self .did_readerr , "ev_error called"
54+ assert self .cnt_written == 0 , "ev_written called"
55+ assert self .cnt_hup > 0 , "ev_hup not called"
56+ assert self .did_close , "ev_close not called"
57+ assert not self .did_timeout , "ev_timeout called"
58+
59+ def do_asserts_read_write_notimeout (self ):
60+ assert self .did_start , "ev_start not called"
61+ assert self .cnt_pickup > 0 , "ev_pickup not called"
62+ assert self .did_read , "ev_read not called"
5163 assert not self .did_readerr , "ev_error called"
64+ assert self .cnt_written > 0 , "ev_written not called"
5265 assert self .cnt_hup > 0 , "ev_hup not called"
5366 assert self .did_close , "ev_close not called"
5467 assert not self .did_timeout , "ev_timeout called"
@@ -58,6 +71,8 @@ def reset_asserts(self):
5871 self .cnt_pickup = 0
5972 self .did_read = False
6073 self .did_readerr = False
74+ self .cnt_written = 0
75+ self .bytes_written = 0
6176 self .cnt_hup = 0
6277 self .did_close = False
6378 self .did_timeout = False
@@ -78,6 +93,10 @@ def ev_error(self, worker):
7893 assert worker .current_errmsg == "errerrerrerrerrerrerrerr"
7994 assert worker .current_msg != "errerrerrerrerrerrerrerr"
8095
96+ def ev_written (self , worker , node , sname , size ):
97+ self .cnt_written += 1
98+ self .bytes_written += size
99+
81100 def ev_hup (self , worker ):
82101 self .cnt_hup += 1
83102
@@ -214,3 +233,20 @@ def test_ev_pickup_fanout(self):
214233 self .assertEqual (eh .cnt_hup , 3 )
215234 finally :
216235 task .set_info ("fanout" , fanout )
236+
237+ def test_ev_written (self ):
238+ """test ev_written event"""
239+ task = task_self ()
240+
241+ eh = TestHandler ()
242+
243+ worker = task .shell ("cat" , handler = eh )
244+ content = "abcdefghijklmnopqrstuvwxyz\n "
245+ worker .write (content )
246+ worker .set_write_eof ()
247+
248+ task .resume ()
249+
250+ eh .do_asserts_read_write_notimeout ()
251+ self .assertEqual (eh .cnt_written , 1 )
252+ self .assertEqual (eh .bytes_written , len (content ))
0 commit comments