From e8db5b2cbd5778b9f0ce193c65573cce23de2f04 Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Thu, 18 Dec 2014 13:13:05 +0100 Subject: python-dbusmock: import from meta-webos-ports (From meta-openembedded commit: 67c5f319b18a3728776dc1b8bb580d79164bdbd3) Signed-off-by: Martin Jansa Signed-off-by: Tim Orling --- ...nality-to-add-own-objects-to-internal-obj.patch | 53 ++++++++++++++++++++++ ...-t-use-gobject-introspection-for-bindings.patch | 29 ++++++++++++ ...ibility-to-import-templates-from-packages.patch | 29 ++++++++++++ recipes-devtools/python/python-dbusmock_0.10.1.bb | 22 +++++++++ 4 files changed, 133 insertions(+) create mode 100644 recipes-devtools/python/python-dbusmock/0001-Add-functionality-to-add-own-objects-to-internal-obj.patch create mode 100644 recipes-devtools/python/python-dbusmock/0001-Don-t-use-gobject-introspection-for-bindings.patch create mode 100644 recipes-devtools/python/python-dbusmock/0002-Add-possibility-to-import-templates-from-packages.patch create mode 100644 recipes-devtools/python/python-dbusmock_0.10.1.bb diff --git a/recipes-devtools/python/python-dbusmock/0001-Add-functionality-to-add-own-objects-to-internal-obj.patch b/recipes-devtools/python/python-dbusmock/0001-Add-functionality-to-add-own-objects-to-internal-obj.patch new file mode 100644 index 0000000..fdd00b6 --- /dev/null +++ b/recipes-devtools/python/python-dbusmock/0001-Add-functionality-to-add-own-objects-to-internal-obj.patch @@ -0,0 +1,53 @@ +From eebe0f66435c4d821b0f5f93f69efe17b4a384c2 Mon Sep 17 00:00:00 2001 +From: Simon Busch +Date: Wed, 9 Apr 2014 13:18:33 +0200 +Subject: [PATCH 1/2] Add functionality to add own objects to internal object + list + +In some case the tests might want to create dynamically dbus objects which extended +functionality from own class definitions within templates. In such cases we need to +register those objects with the internal object manager of dbusmock. + +Signed-off-by: Simon Busch +--- + dbusmock/__init__.py | 4 ++-- + dbusmock/mockobject.py | 8 ++++++++ + 2 files changed, 10 insertions(+), 2 deletions(-) + +diff --git a/dbusmock/__init__.py b/dbusmock/__init__.py +index f799cc7..6718c06 100644 +--- a/dbusmock/__init__.py ++++ b/dbusmock/__init__.py +@@ -14,8 +14,8 @@ __license__ = 'LGPL 3+' + __version__ = '0.10.1' + + from dbusmock.mockobject import (DBusMockObject, MOCK_IFACE, +- OBJECT_MANAGER_IFACE, get_object, get_objects) ++ OBJECT_MANAGER_IFACE, get_object, get_objects, add_object) + from dbusmock.testcase import DBusTestCase + + __all__ = ['DBusMockObject', 'MOCK_IFACE', 'OBJECT_MANAGER_IFACE', +- 'DBusTestCase', 'get_object', 'get_objects'] ++ 'DBusTestCase', 'get_object', 'get_objects', 'add_object'] +diff --git a/dbusmock/mockobject.py b/dbusmock/mockobject.py +index 97b79ce..a98e03d 100644 +--- a/dbusmock/mockobject.py ++++ b/dbusmock/mockobject.py +@@ -682,6 +682,14 @@ dbus.service._method_lookup = _dbusmock_method_lookup + # Helper API for templates + # + ++def add_object(path, obj): ++ if path in objects: ++ raise dbus.exceptions.DBusException( ++ 'org.freedesktop.DBus.Mock.NameError', ++ 'object %s already exists' % path) ++ ++ objects[path] = obj ++ + + def get_objects(): + '''Return all existing object paths''' +-- +1.7.9.5 + diff --git a/recipes-devtools/python/python-dbusmock/0001-Don-t-use-gobject-introspection-for-bindings.patch b/recipes-devtools/python/python-dbusmock/0001-Don-t-use-gobject-introspection-for-bindings.patch new file mode 100644 index 0000000..f3ab53c --- /dev/null +++ b/recipes-devtools/python/python-dbusmock/0001-Don-t-use-gobject-introspection-for-bindings.patch @@ -0,0 +1,29 @@ +From 29960f2fce7ab42ed0a1bf8ce96499fdb6eedf3c Mon Sep 17 00:00:00 2001 +From: Simon Busch +Date: Tue, 25 Mar 2014 15:28:54 +0100 +Subject: [PATCH] Don't use gobject introspection for bindings + +In our environment we're not providing the glib python bindings through +introspection but just pygobject so we need to use the right import. + +Signed-off-by: Simon Busch +--- + dbusmock/__main__.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/dbusmock/__main__.py b/dbusmock/__main__.py +index 44b63fb..bfd089c 100644 +--- a/dbusmock/__main__.py ++++ b/dbusmock/__main__.py +@@ -51,7 +51,7 @@ def parse_args(): + + if __name__ == '__main__': + import dbus.mainloop.glib +- from gi.repository import GLib ++ import glib as GLib + + args = parse_args() + dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) +-- +1.7.9.5 + diff --git a/recipes-devtools/python/python-dbusmock/0002-Add-possibility-to-import-templates-from-packages.patch b/recipes-devtools/python/python-dbusmock/0002-Add-possibility-to-import-templates-from-packages.patch new file mode 100644 index 0000000..981694f --- /dev/null +++ b/recipes-devtools/python/python-dbusmock/0002-Add-possibility-to-import-templates-from-packages.patch @@ -0,0 +1,29 @@ +From ff1dffd5673bcd2cbd9554ad62476d108dbc18af Mon Sep 17 00:00:00 2001 +From: Simon Busch +Date: Wed, 9 Apr 2014 13:20:33 +0200 +Subject: [PATCH 2/2] Add possibility to import templates from packages + +Does not have any unit tests yet. + +Signed-off-by: Simon Busch +--- + dbusmock/mockobject.py | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/dbusmock/mockobject.py b/dbusmock/mockobject.py +index a98e03d..9530c2a 100644 +--- a/dbusmock/mockobject.py ++++ b/dbusmock/mockobject.py +@@ -49,6 +49,9 @@ def load_module(name): + + return module + ++ if '.' in name: ++ return importlib.import_module(name) ++ + return importlib.import_module('dbusmock.templates.' + name) + + +-- +1.7.9.5 + diff --git a/recipes-devtools/python/python-dbusmock_0.10.1.bb b/recipes-devtools/python/python-dbusmock_0.10.1.bb new file mode 100644 index 0000000..b247943 --- /dev/null +++ b/recipes-devtools/python/python-dbusmock_0.10.1.bb @@ -0,0 +1,22 @@ +# Copyright (c) 2014 LG Electronics, Inc. + +SUMMARY = "With this program/Python library you can easily create mock objects on D-Bus" +AUTHOR = "Martin Pitt " +SECTION = "devel/python" + +LICENSE = "GPL-3.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=e6a600fd5e1d9cbde2d983680233ad02" + +DEPENDS += "python-pygobject python-dbus" + +SRC_URI = "https://launchpad.net/${BPN}/trunk/${PV}/+download/${BP}.tar.gz" +SRC_URI[md5sum] = "7370d325c4a75494dd71885ca65b79e8" +SRC_URI[sha256sum] = "03aadc93bdc26ea18d4d78fcff7b6cb34f4e18623bc5cc41cf9539d663cee11e" + +SRC_URI += " \ + file://0001-Don-t-use-gobject-introspection-for-bindings.patch \ + file://0001-Add-functionality-to-add-own-objects-to-internal-obj.patch \ + file://0002-Add-possibility-to-import-templates-from-packages.patch \ +" + +inherit setuptools -- cgit 1.2.3-korg