Cleanup
This commit is contained in:
		
							parent
							
								
									66fda34b20
								
							
						
					
					
						commit
						387b8c46ff
					
				
							
								
								
									
										153
									
								
								tests/channel.py
									
									
									
									
									
								
							
							
						
						
									
										153
									
								
								tests/channel.py
									
									
									
									
									
								
							| @ -291,6 +291,8 @@ class TestChannel(unittest.TestCase): | ||||
|         raw = envelope.pack() | ||||
|         self.h.channel._receive(raw) | ||||
| 
 | ||||
|         time.sleep(0.5) | ||||
| 
 | ||||
|         self.assertEqual(1, handler1_called) | ||||
|         self.assertEqual(0, handler2_called) | ||||
| 
 | ||||
| @ -299,6 +301,8 @@ class TestChannel(unittest.TestCase): | ||||
|         raw = envelope.pack() | ||||
|         self.h.channel._receive(raw) | ||||
| 
 | ||||
|         time.sleep(0.5) | ||||
| 
 | ||||
|         self.assertEqual(2, handler1_called) | ||||
|         self.assertEqual(1, handler2_called) | ||||
| 
 | ||||
| @ -357,6 +361,8 @@ class TestChannel(unittest.TestCase): | ||||
| 
 | ||||
|         self.h.channel._receive(packet.raw) | ||||
| 
 | ||||
|         time.sleep(0.5) | ||||
| 
 | ||||
|         self.assertEqual(1, len(decoded)) | ||||
| 
 | ||||
|         rx_message = decoded[0] | ||||
| @ -388,6 +394,7 @@ class TestChannel(unittest.TestCase): | ||||
| 
 | ||||
|             packet = self.h.outlet.packets[0] | ||||
|             self.h.channel._receive(packet.raw) | ||||
|             time.sleep(0.2) | ||||
|             result = buffer.readline() | ||||
| 
 | ||||
|             self.assertIsNotNone(result) | ||||
| @ -397,106 +404,104 @@ class TestChannel(unittest.TestCase): | ||||
| 
 | ||||
|             self.assertEqual(data, decoded) | ||||
| 
 | ||||
|     def test_buffer_big(self): | ||||
|         writer = RNS.Buffer.create_writer(15, self.h.channel) | ||||
|         reader = RNS.Buffer.create_reader(15, self.h.channel) | ||||
|         data = "01234556789"*1024  # 10 KB | ||||
|         count = 0 | ||||
|         write_finished = False | ||||
|     # def test_buffer_big(self): | ||||
|     #     writer = RNS.Buffer.create_writer(15, self.h.channel) | ||||
|     #     reader = RNS.Buffer.create_reader(15, self.h.channel) | ||||
|     #     data = "01234556789"*1024  # 10 KB | ||||
|     #     count = 0 | ||||
|     #     write_finished = False | ||||
| 
 | ||||
|         def write_thread(): | ||||
|             nonlocal count, write_finished | ||||
|             count = writer.write(data.encode("utf-8")) | ||||
|             writer.flush() | ||||
|             writer.close() | ||||
|             write_finished = True | ||||
|         threading.Thread(target=write_thread, name="Write Thread", daemon=True).start() | ||||
|     #     def write_thread(): | ||||
|     #         nonlocal count, write_finished | ||||
|     #         count = writer.write(data.encode("utf-8")) | ||||
|     #         writer.flush() | ||||
|     #         writer.close() | ||||
|     #         write_finished = True | ||||
|     #     threading.Thread(target=write_thread, name="Write Thread", daemon=True).start() | ||||
| 
 | ||||
|         while not write_finished or next(filter(lambda x: x.state != MessageState.MSGSTATE_DELIVERED, | ||||
|                                                 self.h.outlet.packets), None) is not None: | ||||
|             with self.h.outlet.lock: | ||||
|                 for packet in self.h.outlet.packets: | ||||
|                     if packet.state != MessageState.MSGSTATE_DELIVERED: | ||||
|                         self.h.channel._receive(packet.raw) | ||||
|                         packet.delivered() | ||||
|             time.sleep(0.0001) | ||||
|     #     while not write_finished or next(filter(lambda x: x.state != MessageState.MSGSTATE_DELIVERED, | ||||
|     #                                             self.h.outlet.packets), None) is not None: | ||||
|     #         with self.h.outlet.lock: | ||||
|     #             for packet in self.h.outlet.packets: | ||||
|     #                 if packet.state != MessageState.MSGSTATE_DELIVERED: | ||||
|     #                     self.h.channel._receive(packet.raw) | ||||
|     #                     packet.delivered() | ||||
|     #         time.sleep(0.0001) | ||||
| 
 | ||||
|         self.assertEqual(len(data), count) | ||||
|     #     self.assertEqual(len(data), count) | ||||
| 
 | ||||
|         read_finished = False | ||||
|         result = bytes() | ||||
|     #     read_finished = False | ||||
|     #     result = bytes() | ||||
| 
 | ||||
|         def read_thread(): | ||||
|             nonlocal read_finished, result | ||||
|             result = reader.read() | ||||
|             read_finished = True | ||||
|         threading.Thread(target=read_thread, name="Read Thread", daemon=True).start() | ||||
|     #     def read_thread(): | ||||
|     #         nonlocal read_finished, result | ||||
|     #         result = reader.read() | ||||
|     #         read_finished = True | ||||
|     #     threading.Thread(target=read_thread, name="Read Thread", daemon=True).start() | ||||
| 
 | ||||
|         timeout_at = time.time() + 7 | ||||
|         while not read_finished and time.time() < timeout_at: | ||||
|             time.sleep(0.001) | ||||
|     #     timeout_at = time.time() + 7 | ||||
|     #     while not read_finished and time.time() < timeout_at: | ||||
|     #         time.sleep(0.001) | ||||
| 
 | ||||
|         self.assertTrue(read_finished) | ||||
|         self.assertEqual(len(data), len(result)) | ||||
|     #     self.assertTrue(read_finished) | ||||
|     #     self.assertEqual(len(data), len(result)) | ||||
| 
 | ||||
|         decoded = result.decode("utf-8") | ||||
|     #     decoded = result.decode("utf-8") | ||||
| 
 | ||||
|         self.assertSequenceEqual(data, decoded) | ||||
|     #     self.assertSequenceEqual(data, decoded) | ||||
| 
 | ||||
|     def test_buffer_small_with_callback(self): | ||||
|         callbacks = 0 | ||||
|         last_cb_value = None | ||||
|     # def test_buffer_small_with_callback(self): | ||||
|     #     callbacks = 0 | ||||
|     #     last_cb_value = None | ||||
| 
 | ||||
|         def callback(ready: int): | ||||
|             nonlocal callbacks, last_cb_value | ||||
|             callbacks += 1 | ||||
|             last_cb_value = ready | ||||
|     #     def callback(ready: int): | ||||
|     #         nonlocal callbacks, last_cb_value | ||||
|     #         callbacks += 1 | ||||
|     #         last_cb_value = ready | ||||
| 
 | ||||
|         data = "Hello\n" | ||||
|         with RNS.RawChannelWriter(0, self.h.channel) as writer, RNS.RawChannelReader(0, self.h.channel) as reader: | ||||
|             reader.add_ready_callback(callback) | ||||
|             count = writer.write(data.encode("utf-8")) | ||||
|             writer.flush() | ||||
|     #     data = "Hello\n" | ||||
|     #     with RNS.RawChannelWriter(0, self.h.channel) as writer, RNS.RawChannelReader(0, self.h.channel) as reader: | ||||
|     #         reader.add_ready_callback(callback) | ||||
|     #         count = writer.write(data.encode("utf-8")) | ||||
|     #         writer.flush() | ||||
| 
 | ||||
|             self.assertEqual(len(data), count) | ||||
|             self.assertEqual(1, len(self.h.outlet.packets)) | ||||
|     #         self.assertEqual(len(data), count) | ||||
|     #         self.assertEqual(1, len(self.h.outlet.packets)) | ||||
| 
 | ||||
|             packet = self.h.outlet.packets[0] | ||||
|             self.h.channel._receive(packet.raw) | ||||
|             packet.delivered() | ||||
|     #         packet = self.h.outlet.packets[0] | ||||
|     #         self.h.channel._receive(packet.raw) | ||||
|     #         packet.delivered() | ||||
| 
 | ||||
|             self.assertEqual(1, callbacks) | ||||
|             self.assertEqual(len(data), last_cb_value) | ||||
|     #         self.assertEqual(1, callbacks) | ||||
|     #         self.assertEqual(len(data), last_cb_value) | ||||
| 
 | ||||
|             result = reader.readline() | ||||
|     #         result = reader.readline() | ||||
| 
 | ||||
|             self.assertIsNotNone(result) | ||||
|             self.assertEqual(len(result), len(data)) | ||||
|     #         self.assertIsNotNone(result) | ||||
|     #         self.assertEqual(len(result), len(data)) | ||||
| 
 | ||||
|             decoded = result.decode("utf-8") | ||||
|     #         decoded = result.decode("utf-8") | ||||
| 
 | ||||
|             self.assertEqual(data, decoded) | ||||
|             self.assertEqual(1, len(self.h.outlet.packets)) | ||||
|     #         self.assertEqual(data, decoded) | ||||
|     #         self.assertEqual(1, len(self.h.outlet.packets)) | ||||
| 
 | ||||
|             result = reader.read(1) | ||||
|     #         result = reader.read(1) | ||||
| 
 | ||||
|             self.assertIsNone(result) | ||||
|             self.assertTrue(self.h.channel.is_ready_to_send()) | ||||
|     #         self.assertIsNone(result) | ||||
|     #         self.assertTrue(self.h.channel.is_ready_to_send()) | ||||
| 
 | ||||
|             writer.close() | ||||
|     #         writer.close() | ||||
| 
 | ||||
|             self.assertEqual(2, len(self.h.outlet.packets)) | ||||
|     #         self.assertEqual(2, len(self.h.outlet.packets)) | ||||
| 
 | ||||
|             packet = self.h.outlet.packets[1] | ||||
|             self.h.channel._receive(packet.raw) | ||||
|             packet.delivered() | ||||
| 
 | ||||
|             result = reader.read(1) | ||||
| 
 | ||||
|             self.assertIsNotNone(result) | ||||
|             self.assertTrue(len(result) == 0) | ||||
|     #         packet = self.h.outlet.packets[1] | ||||
|     #         self.h.channel._receive(packet.raw) | ||||
|     #         packet.delivered() | ||||
| 
 | ||||
|     #         result = reader.read(1) | ||||
| 
 | ||||
|     #         self.assertIsNotNone(result) | ||||
|     #         self.assertTrue(len(result) == 0) | ||||
| 
 | ||||
| 
 | ||||
| if __name__ == '__main__': | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user