modem: Improve handling of errors in dbus_call_dismiss_error
Change-Id: I25d08c74608c3ec5c6e46c36c161e777b2ed337a
diff --git a/src/osmo_gsm_tester/modem.py b/src/osmo_gsm_tester/modem.py
index e8f57cc..bff62bb 100644
--- a/src/osmo_gsm_tester/modem.py
+++ b/src/osmo_gsm_tester/modem.py
@@ -145,11 +145,11 @@
def dbus_call_dismiss_error(log_obj, err_str, method):
try:
method()
- except Exception as e:
- if isinstance(e, GLib.Error) and err_str in e.domain:
+ except GLib.Error as e:
+ if Gio.DBusError.is_remote_error(e) and Gio.DBusError.get_remote_error(e) == err_str:
log_obj.log('Dismissed Dbus method error: %r' % e)
return
- raise log.Error('dbus_call_dismiss_error raised error %r' % e)
+ raise e
class ModemDbusInteraction(log.Origin):
'''Work around inconveniences specific to pydbus and ofono.