diff --git a/meta-python/conf/include/ptest-packagelists-meta-python.inc b/meta-python/conf/include/ptest-packagelists-meta-python.inc index be548f62b6..8f40bb20a8 100644 --- a/meta-python/conf/include/ptest-packagelists-meta-python.inc +++ b/meta-python/conf/include/ptest-packagelists-meta-python.inc @@ -94,6 +94,7 @@ PTESTS_FAST_META_PYTHON = "\ python3-rich-toolkit \ python3-schedule \ python3-semver \ + python3-send2trash \ python3-serpent \ python3-service-identity \ python3-setproctitle \ diff --git a/meta-python/recipes-extended/send2trash/python3-send2trash/0001-add-missing-conftest.py.patch b/meta-python/recipes-extended/send2trash/python3-send2trash/0001-add-missing-conftest.py.patch new file mode 100644 index 0000000000..1592fd661c --- /dev/null +++ b/meta-python/recipes-extended/send2trash/python3-send2trash/0001-add-missing-conftest.py.patch @@ -0,0 +1,52 @@ +From ed6d20884108fd7e681baf7278e38ac4800fb5c1 Mon Sep 17 00:00:00 2001 +From: Gyorgy Sarvari +Date: Fri, 9 Jan 2026 18:04:08 +0100 +Subject: [PATCH] add missing conftest.py + +Conftest.py is missing from the source dictribution of v2.0.0, +making the tests to fail. + +The issue is already solved by upstream, but not tagged yet. +This patch can be removed with the next release. + +Upstream-Status: Inappropriate [workaround until https://github.com/arsenetar/send2trash/commit/f8a40143f696da41f81cae87e1c7f9a345cd4003 is tagged] + +Signed-off-by: Gyorgy Sarvari +--- + tests/conftest.py | 27 +++++++++++++++++++++++++++ + 1 file changed, 27 insertions(+) + create mode 100644 tests/conftest.py + +diff --git a/tests/conftest.py b/tests/conftest.py +new file mode 100644 +index 0000000..0753384 +--- /dev/null ++++ b/tests/conftest.py +@@ -0,0 +1,27 @@ ++# encoding: utf-8 ++import sys ++import os ++from tempfile import NamedTemporaryFile ++import pytest ++ ++# Only import HOMETRASH on supported platforms ++if sys.platform != "win32": ++ from send2trash.plat_other import HOMETRASH ++ ++ ++@pytest.fixture(name="test_file") ++def fixture_test_file(): ++ file = NamedTemporaryFile(dir=os.path.expanduser("~"), prefix="send2trash_test", delete=False) ++ file.close() ++ # Verify file was actually created ++ assert os.path.exists(file.name) is True ++ yield file.name ++ # Cleanup trash files on supported platforms ++ if sys.platform != "win32": ++ name = os.path.basename(file.name) ++ # Remove trash files if they exist ++ if os.path.exists(os.path.join(HOMETRASH, "files", name)): ++ os.remove(os.path.join(HOMETRASH, "files", name)) ++ os.remove(os.path.join(HOMETRASH, "info", name + ".trashinfo")) ++ if os.path.exists(file.name): ++ os.remove(file.name) diff --git a/meta-python/recipes-extended/send2trash/python3-send2trash/run-ptest b/meta-python/recipes-extended/send2trash/python3-send2trash/run-ptest new file mode 100644 index 0000000000..d8d5e7bd08 --- /dev/null +++ b/meta-python/recipes-extended/send2trash/python3-send2trash/run-ptest @@ -0,0 +1,10 @@ +#!/bin/sh +# Not all tests can run as root +useradd tester || echo test user already exists + +# The test are running in /tmp folder by default, but +# the tests expect the test folder to be a regular folder, not +# a mount/symlink. Specify the TMP folder explicitly. +export TMP=/var/volatile/tmp + +su tester -c "pytest --automake" diff --git a/meta-python/recipes-extended/send2trash/python3-send2trash_2.0.0.bb b/meta-python/recipes-extended/send2trash/python3-send2trash_2.0.0.bb index 0bd89f887a..48dc8e793f 100644 --- a/meta-python/recipes-extended/send2trash/python3-send2trash_2.0.0.bb +++ b/meta-python/recipes-extended/send2trash/python3-send2trash_2.0.0.bb @@ -2,8 +2,10 @@ SUMMARY = "Send file to trash natively under Mac OS X, Windows and Linux" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://LICENSE;md5=a02659c2d5f4cc626e4dcf6504b865eb" -inherit pypi python_setuptools_build_meta +inherit pypi python_setuptools_build_meta ptest-python-pytest +SRC_URI += "file://0001-add-missing-conftest.py.patch \ + file://run-ptest" SRC_URI[sha256sum] = "1761421da3f9930bfe51ed7c45343948573383ad4c27e3acebc91be324e7770d" PYPI_PACKAGE = "send2trash"