Skip to content

Commit d4cd12c

Browse files
committed
add another sending timeout unit test
1 parent 336cf67 commit d4cd12c

File tree

1 file changed

+41
-1
lines changed

1 file changed

+41
-1
lines changed

test/test.py

Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ def write_func(data):
9494

9595
write_func.data = None
9696

97-
hdlc_c = HDLController(read_func, write_func, sending_timeout=2)
97+
hdlc_c = HDLController(read_func, write_func)
9898
hdlc_c.send('test')
9999
while write_func.data == None: pass
100100
self.assertEqual(write_func.data, frame_data('test', FRAME_DATA, 0))
@@ -105,6 +105,46 @@ def write_func(data):
105105
self.assertEqual(hdlc_c.get_senders_number(), 1)
106106
hdlc_c.stop()
107107

108+
def test_send_three_frames_and_wait_timeout(self):
109+
def read_func():
110+
pass
111+
112+
def write_func(data):
113+
write_func.data = data
114+
115+
write_func.data = None
116+
117+
hdlc_c = HDLController(read_func, write_func, sending_timeout=5)
118+
hdlc_c.send('test1')
119+
while write_func.data == None: pass
120+
self.assertEqual(write_func.data, frame_data('test1', FRAME_DATA, 0))
121+
self.assertEqual(hdlc_c.get_senders_number(), 1)
122+
write_func.data = None
123+
sleep(1)
124+
hdlc_c.send('test2')
125+
while write_func.data == None: pass
126+
self.assertEqual(write_func.data, frame_data('test2', FRAME_DATA, 1))
127+
self.assertEqual(hdlc_c.get_senders_number(), 2)
128+
write_func.data = None
129+
sleep(1)
130+
hdlc_c.send('test3')
131+
while write_func.data == None: pass
132+
self.assertEqual(write_func.data, frame_data('test3', FRAME_DATA, 2))
133+
self.assertEqual(hdlc_c.get_senders_number(), 3)
134+
write_func.data = None
135+
while write_func.data == None: pass
136+
self.assertEqual(write_func.data, frame_data('test1', FRAME_DATA, 0))
137+
self.assertEqual(hdlc_c.get_senders_number(), 3)
138+
write_func.data = None
139+
while write_func.data == None: pass
140+
self.assertEqual(write_func.data, frame_data('test2', FRAME_DATA, 1))
141+
self.assertEqual(hdlc_c.get_senders_number(), 3)
142+
write_func.data = None
143+
while write_func.data == None: pass
144+
self.assertEqual(write_func.data, frame_data('test3', FRAME_DATA, 2))
145+
self.assertEqual(hdlc_c.get_senders_number(), 3)
146+
hdlc_c.stop()
147+
108148
def test_send_frame_and_receive_ack(self):
109149
def read_func():
110150
return frame_data('', FRAME_ACK, 1)

0 commit comments

Comments
 (0)