python-dbusmock: import from meta-webos-ports

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
This commit is contained in:
Martin Jansa 2014-12-18 13:13:05 +01:00
parent d754cdd283
commit 67c5f319b1
4 changed files with 133 additions and 0 deletions

View File

@ -0,0 +1,53 @@
From eebe0f66435c4d821b0f5f93f69efe17b4a384c2 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 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 <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 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

View File

@ -0,0 +1,29 @@
From 29960f2fce7ab42ed0a1bf8ce96499fdb6eedf3c Mon Sep 17 00:00:00 2001
From: Simon Busch <simon.busch@lge.com>
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 <simon.busch@lge.com>
---
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

View File

@ -0,0 +1,29 @@
From ff1dffd5673bcd2cbd9554ad62476d108dbc18af Mon Sep 17 00:00:00 2001
From: Simon Busch <simon.busch@lge.com>
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 <simon.busch@lge.com>
---
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

View File

@ -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 <martin.pitt@ubuntu.com>"
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