From 2ddf1e5ec5cea7f6d39af1f96d6db859451b361c Mon Sep 17 00:00:00 2001 From: Adrien Beraud Date: Sun, 25 Oct 2026 23:30:44 -0400 Subject: [PATCH] python: await shutdown before checking persisted state --- python/tests/opendht_tests.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/python/tests/opendht_tests.py b/python/tests/opendht_tests.py index 6a1787d9..cce2214e 100644 --- a/python/tests/opendht_tests.py +++ b/python/tests/opendht_tests.py @@ -28,7 +28,7 @@ class OpenDhtTester(unittest.TestCase): node_id = first.getNodeId() port = first.getBound(socket.AF_INET).getPort() self.assertNotEqual(port, 0) - first.join() + self._shutdown_node(first) self.assertTrue(state_path.is_file()) self.assertTrue(Path(str(state_path) + "_port.txt").is_file()) @@ -37,7 +37,7 @@ class OpenDhtTester(unittest.TestCase): second = self._run_node(config=restored_config) self.assertEqual(second.getNodeId(), node_id) self.assertEqual(second.getBound(socket.AF_INET).getPort(), port) - second.join() + self._shutdown_node(second) def test_disable_persistence(self): with TemporaryDirectory() as directory: @@ -45,7 +45,7 @@ class OpenDhtTester(unittest.TestCase): config.setPersistPath(str(Path(directory) / "state")) config.setPersistPath("") node = self._run_node(config=config) - node.join() + self._shutdown_node(node) self.assertEqual(list(Path(directory).iterdir()), []) def test_persistence_path_validation(self): @@ -228,6 +228,12 @@ class OpenDhtTester(unittest.TestCase): timer.start() """) + f"\n{close}\nassert finished.is_set()\ntimer.join()\n", timeout=8) + def _shutdown_node(self, node): + stopped = threading.Event() + node.shutdown(stopped.set) + self.assertTrue(stopped.wait(5)) + node.join() + def _run_node(self, **kwargs): node = dht.DhtRunner() self.addCleanup(node.join)