summaryrefslogtreecommitdiffstats
path: root/test/python/test-service.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/python/test-service.py')
-rwxr-xr-xtest/python/test-service.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/test/python/test-service.py b/test/python/test-service.py
new file mode 100755
index 00000000..21d101ce
--- /dev/null
+++ b/test/python/test-service.py
@@ -0,0 +1,34 @@
+#!/usr/bin/env python
+import sys
+import os
+
+builddir = os.environ["DBUS_TOP_BUILDDIR"]
+pydir = builddir + "/python"
+
+sys.path.insert(0, pydir)
+
+import dbus
+
+if not dbus.__file__.startswith(pydir):
+ raise Exception("DBus modules are not being picked up from the package")
+
+import dbus.service
+import dbus.glib
+import gobject
+
+class TestObject(dbus.service.Object):
+ def __init__(self, bus_name, object_path="/org/freedesktop/DBus/TestSuitePythonObject"):
+ dbus.service.Object.__init__(self, bus_name, object_path)
+
+ """ Echo whatever is sent
+ """
+ @dbus.service.method("org.freedesktop.DBus.TestSuiteInterface")
+ def Echo(self, arg):
+ return arg
+
+session_bus = dbus.SessionBus()
+name = dbus.service.BusName("org.freedesktop.DBus.TestSuitePythonService", bus=session_bus)
+object = TestObject(name)
+
+loop = gobject.MainLoop()
+loop.run()