Skip to content

Commit ca946f2

Browse files
committed
Update test_task_handler_coverage.py
1 parent a2ba557 commit ca946f2

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

tests/unit/automator/test_task_handler_coverage.py

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,16 @@ def setUp(self):
4848
def tearDown(self):
4949
# Clean up decorated functions
5050
_decorated_functions.clear()
51+
# Clean up any lingering processes
52+
import multiprocessing
53+
for process in multiprocessing.active_children():
54+
try:
55+
process.terminate()
56+
process.join(timeout=0.5)
57+
if process.is_alive():
58+
process.kill()
59+
except Exception:
60+
pass
5161

5262
@patch('conductor.client.automator.task_handler._setup_logging_queue')
5363
@patch('conductor.client.automator.task_handler.importlib.import_module')
@@ -1156,5 +1166,26 @@ def test_join_metrics_with_none_process(self, mock_import, mock_logging):
11561166
handler.join_processes()
11571167

11581168

1169+
def tearDownModule():
1170+
"""Module-level teardown to ensure all processes are cleaned up."""
1171+
import multiprocessing
1172+
import time
1173+
1174+
# Give a moment for processes to clean up naturally
1175+
time.sleep(0.1)
1176+
1177+
# Force cleanup of any remaining child processes
1178+
for process in multiprocessing.active_children():
1179+
try:
1180+
if process.is_alive():
1181+
process.terminate()
1182+
process.join(timeout=1)
1183+
if process.is_alive():
1184+
process.kill()
1185+
process.join(timeout=0.5)
1186+
except Exception:
1187+
pass
1188+
1189+
11591190
if __name__ == '__main__':
11601191
unittest.main()

0 commit comments

Comments
 (0)