bus: Assign a serial number for messages from the driver
[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 dbus
7     import dbus.mainloop.glib
8     from gi.repository import GObject
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)