From 0ae9f138ad4dfacbbd28abd39ce3dee66333539a Mon Sep 17 00:00:00 2001 From: "John (J5) Palmieri" Date: Fri, 14 Oct 2005 21:44:00 +0000 Subject: * python/dbus_bindings.pyx (MessageIter::append_strict): check for STRUCT_BEGIN not TYPE_STRUCT in indicate we are marshalling a struct * python/service.py (Object::_message_cb): handle exceptions correctly by sending them over the wire to the calling app. This makes sure the client returns immediately instead of waiting the 15 seconds to timeout. * test/python/test-client.py (TestDBusBindings::testBenchmarkIntrospect): Add a test to benchmark how long it takes to introspect a service and call a method which returns a large element (pretty fast) * test/python/test-service.py (TestObject::GetComplexArray): new test method which pushes a lot of data --- test/python/test-service.py | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'test/python/test-service.py') diff --git a/test/python/test-service.py b/test/python/test-service.py index 8f3cb7af..36c2df7c 100755 --- a/test/python/test-service.py +++ b/test/python/test-service.py @@ -16,6 +16,7 @@ if not dbus.__file__.startswith(pydir): import dbus.service import dbus.glib import gobject +import random class TestObject(dbus.service.Object): def __init__(self, bus_name, object_path="/org/freedesktop/DBus/TestSuitePythonObject"): @@ -27,6 +28,14 @@ class TestObject(dbus.service.Object): def Echo(self, arg): return arg + @dbus.service.method("org.freedesktop.DBus.TestSuiteInterface") + def GetComplexArray(self): + ret = [] + for i in range(0,100): + ret.append((random.randint(0,100), random.randint(0,100), str(random.randint(0,100)))) + + return dbus.Array(ret, signature="(uus)") + session_bus = dbus.SessionBus() name = dbus.service.BusName("org.freedesktop.DBus.TestSuitePythonService", bus=session_bus) object = TestObject(name) -- cgit