From c793ffcde90c58e9a6565f59605e64f7140b8e91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= Date: Thu, 22 Aug 2024 05:17:04 +0200 Subject: [PATCH] tests: wait for child process in test qubes_desktop_run Don't leave children, as cleanup_loop will (rightfully) detect it as a leak. --- qubes/tests/integ/vm_qrexec_gui.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/qubes/tests/integ/vm_qrexec_gui.py b/qubes/tests/integ/vm_qrexec_gui.py index 4493fe55e..c90ce0b6f 100644 --- a/qubes/tests/integ/vm_qrexec_gui.py +++ b/qubes/tests/integ/vm_qrexec_gui.py @@ -155,7 +155,7 @@ def test_012_qubes_desktop_run(self): else: xterm_desktop_path = xterm_desktop_path_debian self.loop.run_until_complete(self.wait_for_session(self.testvm1)) - self.loop.run_until_complete( + p = self.loop.run_until_complete( self.testvm1.run('qubes-desktop-run {}'.format(xterm_desktop_path))) title = 'user@{}'.format(self.testvm1.name) if self.template.count("whonix"): @@ -168,6 +168,11 @@ def test_012_qubes_desktop_run(self): 'windowactivate', '--sync', 'type', 'exit\n']) self.wait_for_window(title, show=False) + try: + self.loop.run_until_complete(asyncio.wait_for(p.wait(), 5)) + except asyncio.TimeoutError: + p.terminate() + self.loop.run_until_complete(p.wait()) def test_100_qrexec_filecopy(self): self.loop.run_until_complete(asyncio.gather(