diff options
author | 2024-08-09 15:03:52 +0000 | |
---|---|---|
committer | 2024-08-09 15:03:52 +0000 | |
commit | 24c4fad93ee9c62121b13549678c89492dd74833 (patch) | |
tree | da10ec1a47cfd5afe45b34653ce5a44ce8885252 | |
parent | 2024-08-09 14:49:03 UTC (diff) | |
parent | dev-libs/libportal: backport test fix for python-dbusmock 0.30.0 (diff) | |
download | gentoo-24c4fad93ee9c62121b13549678c89492dd74833.tar.gz gentoo-24c4fad93ee9c62121b13549678c89492dd74833.tar.bz2 gentoo-24c4fad93ee9c62121b13549678c89492dd74833.zip |
Merge updates from master
-rw-r--r-- | dev-libs/libportal/files/6cd7c2ab82575b76f876ee2bd2d31f6cb77f022f.patch | 47 | ||||
-rw-r--r-- | dev-libs/libportal/libportal-0.7.1-r1.ebuild | 5 | ||||
-rw-r--r-- | dev-libs/libportal/libportal-0.7.1.ebuild | 5 |
3 files changed, 57 insertions, 0 deletions
diff --git a/dev-libs/libportal/files/6cd7c2ab82575b76f876ee2bd2d31f6cb77f022f.patch b/dev-libs/libportal/files/6cd7c2ab82575b76f876ee2bd2d31f6cb77f022f.patch new file mode 100644 index 000000000000..ea055c832dc8 --- /dev/null +++ b/dev-libs/libportal/files/6cd7c2ab82575b76f876ee2bd2d31f6cb77f022f.patch @@ -0,0 +1,47 @@ +From 6cd7c2ab82575b76f876ee2bd2d31f6cb77f022f Mon Sep 17 00:00:00 2001 +From: Simon McVittie <smcv@debian.org> +Date: Tue, 26 Dec 2023 14:35:46 +0000 +Subject: [PATCH] pyportaltest: Only create one session bus per DBusTestCase + subclass + +DBusTestCase.start_session_bus() is a class method, and can only be +called once per class, because DBusTestCase.tearDownClass() will only +clean up one session bus. In older versions of dbusmock, calling it more +than once will result in dbus-daemon processes being leaked; since +0.30.0, calling it more than once will result in an assertion failure. + +Resolves: https://github.com/flatpak/libportal/issues/136 +Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1058245 +Signed-off-by: Simon McVittie <smcv@debian.org> +--- + tests/pyportaltest/__init__.py | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) + +diff --git a/tests/pyportaltest/__init__.py b/tests/pyportaltest/__init__.py +index af053c2a..80f04a91 100644 +--- a/tests/pyportaltest/__init__.py ++++ b/tests/pyportaltest/__init__.py +@@ -83,6 +83,14 @@ def setUpClass(cls): + except AttributeError: + pytest.skip("Updated version of dbusmock required") + ++ cls.__have_session_bus = False ++ ++ @classmethod ++ def ensure_session_bus(cls): ++ if not cls.__have_session_bus: ++ cls.__have_session_bus = True ++ cls.start_session_bus() ++ + def setUp(self): + self.p_mock = None + self._mainloop = None +@@ -96,7 +104,7 @@ def setup_daemon(self, params=None, extra_templates: List[Tuple[str, Dict]] = [] + portal name as first value and the param dict to be passed to that + template as second value, e.g. ("ScreenCast", {...}). + """ +- self.start_session_bus() ++ self.ensure_session_bus() + self.p_mock, self.obj_portal = self.spawn_server_template( + template=f"pyportaltest/templates/{self.PORTAL_NAME.lower()}.py", + parameters=params, diff --git a/dev-libs/libportal/libportal-0.7.1-r1.ebuild b/dev-libs/libportal/libportal-0.7.1-r1.ebuild index ee06945d14a1..81876f8802a6 100644 --- a/dev-libs/libportal/libportal-0.7.1-r1.ebuild +++ b/dev-libs/libportal/libportal-0.7.1-r1.ebuild @@ -57,6 +57,11 @@ BDEPEND=" vala? ( $(vala_depend) ) " +PATCHES=( + # backport fix for tests incompatibility with dbusmock 0.30.0 + "${FILESDIR}"/6cd7c2ab82575b76f876ee2bd2d31f6cb77f022f.patch +) + python_check_deps() { python_has_version \ "dev-python/pytest[${PYTHON_USEDEP}]" \ diff --git a/dev-libs/libportal/libportal-0.7.1.ebuild b/dev-libs/libportal/libportal-0.7.1.ebuild index 38a05311150b..5d36d44b83ea 100644 --- a/dev-libs/libportal/libportal-0.7.1.ebuild +++ b/dev-libs/libportal/libportal-0.7.1.ebuild @@ -57,6 +57,11 @@ BDEPEND=" vala? ( $(vala_depend) ) " +PATCHES=( + # backport fix for tests incompatibility with dbusmock 0.30.0 + "${FILESDIR}"/6cd7c2ab82575b76f876ee2bd2d31f6cb77f022f.patch +) + python_check_deps() { python_has_version \ "dev-python/pytest[${PYTHON_USEDEP}]" \ |