From 70a827b76385cdc40423c6a664a2a9202957a0dd Mon Sep 17 00:00:00 2001 From: mulhern Date: Mon, 1 Jul 2024 22:24:02 -0400 Subject: [PATCH] Return error code 3 for callback errors Signed-off-by: mulhern --- scripts/monitor_dbus_signals.py | 9 +++++---- testlib/infra.py | 6 ++++++ 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/scripts/monitor_dbus_signals.py b/scripts/monitor_dbus_signals.py index c2d3a75..7810cc6 100755 --- a/scripts/monitor_dbus_signals.py +++ b/scripts/monitor_dbus_signals.py @@ -685,10 +685,6 @@ def _check(): if _PROPERTIES is None: return [] - assert isinstance(_CALLBACK_ERRORS, list) - if _CALLBACK_ERRORS: - return _CALLBACK_ERRORS - if _MO is None: return [] @@ -730,6 +726,11 @@ def _check(): return diffs + assert isinstance(_CALLBACK_ERRORS, list) + if _CALLBACK_ERRORS: + print(os.linesep.join(_CALLBACK_ERRORS)) + sys.exit(3) + result = _check() assert isinstance(result, list) diff --git a/testlib/infra.py b/testlib/infra.py index 139e304..8abafd8 100644 --- a/testlib/infra.py +++ b/testlib/infra.py @@ -464,6 +464,12 @@ def run_check(self, stop_time): time.sleep(sleep_time(stop_time, 16)) self.trace.send_signal(signal.SIGINT) (stdoutdata, stderrdata) = self.trace.communicate() + if self.trace.returncode == 3: + raise RuntimeError( + "Failure while processing D-Bus signals: " + f'stderr: {stderrdata.decode("utf-8")}, ' + f'stdout: {stdoutdata.decode("utf-8")}' + ) msg = stdoutdata.decode("utf-8") self.assertEqual( self.trace.returncode,