test: playtone waits for single tone playback
authorPhilippe Nunes <philippe.nunes@linux.intel.com>
Thu, 6 Sep 2012 14:38:46 +0000 (16:38 +0200)
committerDenis Kenzior <denkenz@gmail.com>
Wed, 12 Sep 2012 04:27:14 +0000 (23:27 -0500)
To simulate the single tone playback (avoiding the stkagent method
to return immediately), a timeout is started (5 seconds).
During this time, the user can terminate the session.

test/test-stk-menu

index 6e7f7b7..f4553d1 100755 (executable)
@@ -6,6 +6,10 @@ import sys
 import dbus
 import dbus.service
 import dbus.mainloop.glib
+import signal
+
+def handler(signum, frame):
+       raise Exception("\nSingle tone is finished!")
 
 class GoBack(dbus.DBusException):
        _dbus_error_name = "org.ofono.Error.GoBack"
@@ -195,6 +199,20 @@ class StkAgent(dbus.service.Object):
                print "Text: %s" % (text)
                print "Icon: %d" % (icon)
 
+               signal.signal(signal.SIGALRM, handler)
+               signal.alarm(5)
+
+               try:
+                       key = raw_input("Press return to end before end of"
+                                                        " single tone (t):")
+                       signal.alarm(0)
+
+                       if key == 't':
+                               raise EndSession("User wishes to terminate"
+                                                                " session");
+               except Exception, exc:
+                       print exc
+
        @dbus.service.method("org.ofono.SimToolkitAgent",
                                        in_signature="ssy", out_signature="")
        def LoopTone(self, tone, text, icon):