From d9f252fb61f1f84b150a2cd74db4a5052380f867 Mon Sep 17 00:00:00 2001 From: Alfonso Sanchez-Beato Date: Tue, 10 Jun 2014 10:27:16 +0200 Subject: test: Adapt voice call test scripts to multi-modem Some tests scripts were not ready to handle situations with more than one modem present. This change fixes the scripts that handle voice calls. --- test/release-and-swap | 35 ++++++++++++++++++++++++++--------- 1 file changed, 26 insertions(+), 9 deletions(-) (limited to 'test/release-and-swap') diff --git a/test/release-and-swap b/test/release-and-swap index b4c0af1d..cb8c84e2 100755 --- a/test/release-and-swap +++ b/test/release-and-swap @@ -1,5 +1,6 @@ #!/usr/bin/python3 +import sys import dbus bus = dbus.SystemBus() @@ -7,16 +8,32 @@ bus = dbus.SystemBus() manager = dbus.Interface(bus.get_object('org.ofono', '/'), 'org.ofono.Manager') -modems = manager.GetModems() +if (len(sys.argv) == 1): + modem = None + modems = manager.GetModems() + for path, properties in modems: + if "org.ofono.VoiceCallManager" in properties["Interfaces"]: + modem = path + break + if (modem is None): + exit(2) +elif (len(sys.argv) == 2): + modem = sys.argv[1] +else: + print("Usage: %s [modem]" % (sys.argv[0])) + exit(1) -for path, properties in modems: - print("[ %s ]" % (path)) +modemapi = dbus.Interface(bus.get_object('org.ofono', modem), 'org.ofono.Modem') +properties = modemapi.GetProperties() - if "org.ofono.VoiceCallManager" not in properties["Interfaces"]: - continue +if "org.ofono.VoiceCallManager" not in properties["Interfaces"]: + print("org.ofono.VoiceCallManager not found") + exit(2) - mgr = dbus.Interface(bus.get_object('org.ofono', path), - 'org.ofono.VoiceCallManager') +print("[ %s ]" % (modem)) + +mgr = dbus.Interface(bus.get_object('org.ofono', modem), + 'org.ofono.VoiceCallManager') + +mgr.ReleaseAndSwap() - mgr.ReleaseAndSwap() - break -- cgit v1.2.3