Merge branch 'dbus-1.6'
[platform/upstream/dbus.git] / test / name-test / test-wait-for-echo.py
1 #!/usr/bin/env python
2
3 import os,sys
4
5 try:
6     import gobject
7     import dbus
8     import dbus.mainloop.glib
9 except:
10     print "Failed import, aborting test"
11     sys.exit(0)
12
13 dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
14 loop = gobject.MainLoop()
15
16 exitcode = 0
17
18 def handle_noreceipt():
19     print "Failed to get signal"
20     global exitcode
21     exitcode = 1
22     loop.quit()
23
24 gobject.timeout_add(7000, handle_noreceipt)
25
26 bus = dbus.SessionBus()
27
28 def sighandler(*args, **kwargs):
29     print "got signal"
30     loop.quit()   
31
32 bus.add_signal_receiver(sighandler, dbus_interface='org.freedesktop.TestSuite', signal_name='Foo')
33
34 o = bus.get_object('org.freedesktop.DBus.TestSuiteEchoService', '/org/freedesktop/TestSuite')
35 i = dbus.Interface(o, 'org.freedesktop.TestSuite')
36 def nullhandler(*args, **kwargs):
37     pass
38 i.EmitFoo(reply_handler=nullhandler, error_handler=nullhandler)
39
40 loop.run()
41 sys.exit(exitcode)