test: Adapt voice call test scripts to multi-modem
authorAlfonso Sanchez-Beato <alfonso.sanchez-beato@canonical.com>
Tue, 10 Jun 2014 08:27:16 +0000 (10:27 +0200)
committerDenis Kenzior <denkenz@gmail.com>
Wed, 11 Jun 2014 04:23:51 +0000 (23:23 -0500)
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
test/hangup-active
test/private-chat
test/release-and-answer
test/release-and-swap

index b6395e8..1b76010 100755 (executable)
@@ -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')
index 8e65bc4..82e0eb0 100755 (executable)
@@ -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')
index 17d17d0..e7e5406 100755 (executable)
@@ -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)
index 62eaa79..dec8e17 100755 (executable)
@@ -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
index b4c0af1..cb8c84e 100755 (executable)
@@ -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