python3-filelock: fix ptest cache-dir permissions and missing tasks/pythonpath

tests/ imports itself as "tests.*" and pulls in "capabilities" from
the sibling tasks/ dir; upstream's pyproject.toml sets
[tool.pytest] pythonpath = [".", "tasks"] to make both resolve, so
ship tasks/ and pyproject.toml into the ptest install too.

Also disable pytest's cache plugin: the non-root "tester" user ptest
runs as can't write a cache dir under the read-only-to-them
/usr/lib/python3-filelock/ptest install path.

Add python3-pytest-timeout, used by the test suite.

AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Khem Raj
2026-08-16 08:52:11 +02:00
committed by Khem Raj
parent 63ebdf7e98
commit 18dd7b4b79
2 changed files with 12 additions and 1 deletions
@@ -3,4 +3,6 @@
# Some tests require non-root
useradd tester || echo test user exists already
su tester -c "pytest --automake"
# tester can't write pytest's cache dir under the read-only-to-them
# /usr/lib/python3-filelock/ptest install path; disable it, it's not needed
su tester -c "pytest --automake -p no:cacheprovider"
@@ -28,6 +28,15 @@ RDEPENDS:${PN} += " \
RDEPENDS:${PN}-ptest += " \
python3-pytest-asyncio \
python3-pytest-mock \
python3-pytest-timeout \
python3-virtualenv \
python3-discovery \
"
# tests/ imports itself as "tests.*" and pulls in "capabilities" from the
# sibling tasks/ dir; pyproject.toml's [tool.pytest] pythonpath=[".", "tasks"]
# is what upstream relies on to make both resolve.
do_install_ptest:append() {
cp -rf ${S}/tasks ${D}${PTEST_PATH}/
cp -f ${S}/pyproject.toml ${D}${PTEST_PATH}/
}