meta-openembedded/meta-python/recipes-devtools/python/python-dbusmock/0001-Add-functionality-to-add-own-objects-to-internal-obj.patch
Armin Kuster aaee985fb5 pyton-dbusmuck: refresh patches
WARNING:
Some of the context lines in patches were ignored. This can lead to incorrectly applied patches.
The context lines in the patches can be updated with devtool:

    devtool modify <recipe>
    devtool finish --force-patch-refresh <recipe> <layer_path>

Then the updated patches and the source tree (in devtool's workspace)
should be reviewed to make sure the patches apply in the correct place
and don't introduce duplicate lines (which can, and does happen
when some of the context is ignored). Further information:
http://lists.openembedded.org/pipermail/openembedded-core/2018-March/148675.html
https://bugzilla.yoctoproject.org/show_bug.cgi?id=10450
Details:
checking file dbusmock/__init__.py
Hunk #1 succeeded at 14 with fuzz 1.
checking file dbusmock/mockobject.py
Hunk #1 succeeded at 688 (offset 6 lines).

and others

Signed-off-by: Armin Kuster <akuster808@gmail.com>
2018-04-13 12:43:39 -07:00

53 lines
1.8 KiB
Diff

From c4436fd42f2936e5fb0f95434d06e45aa9959ca0 Mon Sep 17 00:00:00 2001
From: Simon Busch <simon.busch@lge.com>
Date: Wed, 9 Apr 2014 13:18:33 +0200
Subject: [PATCH] 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 <simon.busch@lge.com>
---
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 8a482ab..3d5d71a 100644
--- a/dbusmock/__init__.py
+++ b/dbusmock/__init__.py
@@ -14,8 +14,8 @@ __license__ = 'LGPL 3+'
__version__ = '0.16.7'
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 586dbad..e4f130f 100644
--- a/dbusmock/mockobject.py
+++ b/dbusmock/mockobject.py
@@ -688,6 +688,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'''