dbus/test/name-test/test-wait-for-echo.py
Simon McVittie 04056bba41 Use pygi instead of pygobject 2
pygobject 2 is obsolete and unmaintained, and anyway this is for
optional functionality (full regression test coverage) rather than
anything that will be needed in production builds.

Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=85969
2015-01-27 14:29:59 +00:00

41 lines
928 B
Python
Executable file

#!/usr/bin/env python
import os,sys
try:
import dbus
import dbus.mainloop.glib
from gi.repository import GObject
except:
print "Failed import, aborting test"
sys.exit(0)
dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
loop = GObject.MainLoop()
exitcode = 0
def handle_noreceipt():
print "Failed to get signal"
global exitcode
exitcode = 1
loop.quit()
GObject.timeout_add(7000, handle_noreceipt)
bus = dbus.SessionBus()
def sighandler(*args, **kwargs):
print "got signal"
loop.quit()
bus.add_signal_receiver(sighandler, dbus_interface='org.freedesktop.TestSuite', signal_name='Foo')
o = bus.get_object('org.freedesktop.DBus.TestSuiteEchoService', '/org/freedesktop/TestSuite')
i = dbus.Interface(o, 'org.freedesktop.TestSuite')
def nullhandler(*args, **kwargs):
pass
i.EmitFoo(reply_handler=nullhandler, error_handler=nullhandler)
loop.run()
sys.exit(exitcode)