Files
poky/meta/classes-recipe/ptest-python-pytest.bbclass
Derek Straka 095beae008 classes/ptest-python-pytest: add a new class to consolidate pytest ptest functionality
A large number of python packages leverage the pytest unit test
framework for their ptest functionality.  Currently, many of the tests
have duplicate code for:
    1. Installing pytest files
    2. Declaring ptest dependencies
    3. Script for executing tests (run-ptes)

To simplify adding common pytest based ptests, added a new class
enabling base functionality.  Users can also override the location of
the pytest files in addition to using their own version of run-ptest

[RP: Minor whitespace tweaks to shell function and missing prepend space]
(From OE-Core rev: d66009e608256d42b2d6573d4614a99eb13fd3f1)

Signed-off-by: Derek Straka <derek@asterius.io>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-01-08 12:37:20 +00:00

32 lines
796 B
Plaintext

#
# Copyright OpenEmbedded Contributors
#
# SPDX-License-Identifier: MIT
#
inherit ptest
FILESEXTRAPATHS:prepend := "${COREBASE}/meta/files:"
SRC_URI:append = "\
file://ptest-python-pytest/run-ptest \
"
# Overridable configuration for the directory within the source tree
# containing the pytest files
PTEST_PYTEST_DIR ?= "tests"
do_install_ptest() {
if [ ! -f ${D}${PTEST_PATH}/run-ptest ]; then
install -m 0755 ${UNPACKDIR}/ptest-python-pytest/run-ptest ${D}${PTEST_PATH}
fi
if [ -d "${S}/${PTEST_PYTEST_DIR}" ]; then
install -d ${D}${PTEST_PATH}/${PTEST_PYTEST_DIR}
cp -rf ${S}/${PTEST_PYTEST_DIR}/* ${D}${PTEST_PATH}/${PTEST_PYTEST_DIR}/
fi
}
FILES:${PN}-ptest:prepend = "${PTEST_PATH}/*"
RDEPENDS:${PN}-ptest:prepend = "python3-pytest python3-unittest-automake-output "