diff --git a/tools/ratbagctl.test.in b/tools/ratbagctl.test.in index 1dc81a62..09f7502a 100755 --- a/tools/ratbagctl.test.in +++ b/tools/ratbagctl.test.in @@ -74,6 +74,7 @@ class TestRatbagCtl(unittest.TestCase): error = sys.stderr.getvalue() sys.stdout = stdout sys.stderr = stderr + toolbox.sync_dbus() return returncode, output.rstrip('\n'), error.rstrip('\n') @classmethod diff --git a/tools/toolbox.py b/tools/toolbox.py index b1d753d0..2508fb13 100644 --- a/tools/toolbox.py +++ b/tools/toolbox.py @@ -29,6 +29,8 @@ import shutil import subprocess import sys +from gi.repository import GLib + # various constants RATBAGCTL_NAME = 'ratbagctl' RATBAGCTL_PATH = os.path.join('@MESON_BUILD_ROOT@', RATBAGCTL_NAME) @@ -100,6 +102,12 @@ def terminate_ratbagd(ratbagd): ratbagd.kill() os.unlink(DBUS_CONF_PATH) +def sync_dbus(): + main_context = GLib.MainContext.default() + while main_context.pending(): + main_context.iteration(False) + + ratbagctl = import_non_standard_path(RATBAGCTL_NAME, RATBAGCTL_PATH) from ratbagctl import open_ratbagd, get_parser, RatbagError, RatbagErrorCapability