From d9f252fb61f1f84b150a2cd74db4a5052380f867 Mon Sep 17 00:00:00 2001 From: Alfonso Sanchez-Beato Date: Tue, 10 Jun 2014 10:27:16 +0200 Subject: [PATCH] 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/create-multiparty | 12 +++++++----- test/hangup-active | 10 ++++++++-- test/private-chat | 17 ++++++++--------- test/release-and-answer | 35 ++++++++++++++++++++++++++--------- test/release-and-swap | 35 ++++++++++++++++++++++++++--------- 5 files changed, 75 insertions(+), 34 deletions(-) diff --git a/test/create-multiparty b/test/create-multiparty index b6395e8e..1b760109 100755 --- a/test/create-multiparty +++ b/test/create-multiparty @@ -8,12 +8,14 @@ bus = dbus.SystemBus() manager = dbus.Interface(bus.get_object('org.ofono', '/'), 'org.ofono.Manager') -modems = manager.GetModems() - -path = modems[0][0] - -if (len(sys.argv) == 2): +if (len(sys.argv) == 1): + modems = manager.GetModems() + path = modems[0][0] +elif (len(sys.argv) == 2): path = sys.argv[1] +else: + print("Usage: %s [modem]" % (sys.argv[0])) + sys.exit(1) manager = dbus.Interface(bus.get_object('org.ofono', path), 'org.ofono.VoiceCallManager') diff --git a/test/hangup-active b/test/hangup-active index 8e65bc46..82e0eb0e 100755 --- a/test/hangup-active +++ b/test/hangup-active @@ -8,8 +8,14 @@ bus = dbus.SystemBus() manager = dbus.Interface(bus.get_object('org.ofono', '/'), 'org.ofono.Manager') -modems = manager.GetModems() -path = modems[0][0] +if (len(sys.argv) == 1): + modems = manager.GetModems() + path = modems[0][0] +elif (len(sys.argv) == 2): + path = sys.argv[1] +else: + print("Usage: %s [modem]" % (sys.argv[0])) + sys.exit(1) manager = dbus.Interface(bus.get_object('org.ofono', path), 'org.ofono.VoiceCallManager') diff --git a/test/private-chat b/test/private-chat index 17d17d0b..e7e5406c 100755 --- a/test/private-chat +++ b/test/private-chat @@ -3,24 +3,23 @@ import sys import dbus +if (len(sys.argv) != 2): + print("Usage: %s [voicecall_path]" % (sys.argv[0])) + exit(1) + bus = dbus.SystemBus() manager = dbus.Interface(bus.get_object('org.ofono', '/'), 'org.ofono.Manager') -modems = manager.GetModems() -path = modems[0][0] - -if (len(sys.argv) == 3): - path = sys.argv[1] - callid = sys.argv[2] -else: - callid = sys.argv[1] +call = sys.argv[1] +sep = call.find("/", 1) +path = call[0:sep] manager = dbus.Interface(bus.get_object('org.ofono', path), 'org.ofono.VoiceCallManager') -mpty = manager.PrivateChat(callid, timeout=100) +mpty = manager.PrivateChat(call, timeout=100) for path in mpty: print(path) diff --git a/test/release-and-answer b/test/release-and-answer index 62eaa79c..dec8e178 100755 --- a/test/release-and-answer +++ b/test/release-and-answer @@ -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): + path = None + modems = manager.GetModems() + for path_i, properties in modems: + if "org.ofono.VoiceCallManager" in properties["Interfaces"]: + path = path_i + break + if (path is None): + exit(2) +elif (len(sys.argv) == 2): + path = 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', path), '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 ]" % (path)) + +mgr = dbus.Interface(bus.get_object('org.ofono', path), + 'org.ofono.VoiceCallManager') + +mgr.ReleaseAndAnswer() - mgr.ReleaseAndAnswer() - break 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