diff --git a/tests/launcher.py b/tests/launcher.py index d9d50da739f9ee3c0ed08d56d4d85c62ef85e30f..c7bf888185e2a536fca97197301e15a99ff22b39 100755 --- a/tests/launcher.py +++ b/tests/launcher.py @@ -202,6 +202,7 @@ class TestLauncher(BaseTest): def test_socket(self) -> None: with tempfile.TemporaryDirectory(prefix='test-') as temp: + need_terminate = True proc = subprocess.Popen( self.launcher + [ '--socket', os.path.join(temp, 'socket'), @@ -365,8 +366,23 @@ class TestLauncher(BaseTest): 'Process %d did not exit' % pid ) + conn.call_sync( + None, + LAUNCHER_PATH, + LAUNCHER_IFACE, + 'Terminate', + GLib.Variant('()', ()), + GLib.VariantType('()'), + Gio.DBusCallFlags.NONE, + -1, + None, + ) + need_terminate = False + finally: - proc.terminate() + if need_terminate: + proc.terminate() + proc.wait() self.assertEqual(proc.returncode, 0)