Home | History | Annotate | Download | only in name-test
      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)
     42