Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pytest backport (Dunfell) #163

Merged
merged 1 commit into from
Aug 8, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 57 additions & 0 deletions recipes-devtools/python/backport.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# Backport

## python3-pytest

Available with *openembedded-core > mickledore (Yocto Project 4.2)*.

Upstream revision: `272f6ac29246c67c8ed1ed685ab2c0631fc5fbe3` *(modified for compatibility)*


## python3-iniconfig

Available with *openembedded-core hardknott (Yocto Project 3.3)*.

Upstream revision: `7290b773486da3888f848abf0dba747f2d9f42e1`


## python3-pathlib2

Available with *openembedded-core kirkstone (Yocto Project 4.0)*.

Upstream revision: `30b8cc39e11361e37f0141cd202b355bdab50307`


## python3-pluggy

Available with *openembedded-core honister (Yocto Project 3.4)*.

Upstream revision: `4cb9623933e3daeb754c06263167be61100f6c0a`


## python3-atomicwrites

Available with *openembedded-core kirkstone (Yocto Project 4.0)*.

Upstream revision: `42344347be29f0997cc2f7636d9603b1fe1875ae`


## python3-setuptools-scm

Available with *openembedded-core honister (Yocto Project 3.4)*.

Upstream revision: `42344347be29f0997cc2f7636d9603b1fe1875ae`


## python3-toml

Available with *openembedded-core kirkstone (Yocto Project 4.0)*.

Upstream revision: `42344347be29f0997cc2f7636d9603b1fe1875ae`


## python3-tomli

Available with *openembedded-core kirkstone (Yocto Project 4.0)*.

Upstream revision: `0ad97879bb13d542d5b475376805af87cdeb6837`

3 changes: 3 additions & 0 deletions recipes-devtools/python/python3-atomicwrites/run-ptest
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/sh

pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
25 changes: 25 additions & 0 deletions recipes-devtools/python/python3-atomicwrites_1.4.0.bb
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
DESCRIPTION = "Powerful Python library for atomic file writes"
HOMEPAGE = "https://github.com/untitaker/python-atomicwrites"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=91cc36cfafeefb7863673bcfcb1d4da4"

SRC_URI[md5sum] = "b5cc15c8f9f180a48665f9aacf91d817"
SRC_URI[sha256sum] = "ae70396ad1a434f9c7046fd2dd196fc04b12f9e91ffb859164193be8b6168a7a"

inherit pypi setuptools3 ptest

SRC_URI += " \
file://run-ptest \
"

RDEPENDS:${PN}-ptest += " \
${PYTHON_PN}-pytest \
${PYTHON_PN}-unixadmin \
"

do_install_ptest() {
install -d ${D}${PTEST_PATH}/tests
cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
}

RDEPENDS:${PN} = "${PYTHON_PN}-misc"
10 changes: 10 additions & 0 deletions recipes-devtools/python/python3-iniconfig_1.1.1.bb
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
SUMMARY = "A small and simple INI-file parser module"
HOMEPAGE = "https://pypi.org/project/iniconfig/"

LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=a6bb0320b04a0a503f12f69fea479de9"

SRC_URI[md5sum] = "0b7f3be87481211c183eae095bcea6f1"
SRC_URI[sha256sum] = "bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32"

inherit pypi setuptools3
12 changes: 12 additions & 0 deletions recipes-devtools/python/python3-pathlib2_2.3.7.bb
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
DESCRIPTION = "Object-oriented filesystem paths"
HOMEPAGE = "https://github.com/mcmtroffaes/pathlib2"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=2dc08586cce3ab91bfa091b655c0e440"

SRC_URI[sha256sum] = "7a4329d67beff9a712e1d3ae147e4e3e108b0bfd284ffdea03a635126c76b3c0"

inherit pypi setuptools3

RDEPENDS:${PN} += "${PYTHON_PN}-six ${PYTHON_PN}-ctypes"

BBCLASSEXTEND = "native nativesdk"
3 changes: 3 additions & 0 deletions recipes-devtools/python/python3-pluggy/run-ptest
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/sh

pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
26 changes: 26 additions & 0 deletions recipes-devtools/python/python3-pluggy_1.0.0.bb
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
SUMMARY = "Plugin and hook calling mechanisms for python"
HOMEPAGE = "https://github.com/pytest-dev/pluggy"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=1c8206d16fd5cc02fa9b0bb98955e5c2"

SRC_URI[sha256sum] = "4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159"

DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
RDEPENDS:${PN} += "${PYTHON_PN}-importlib-metadata \
${PYTHON_PN}-more-itertools \
"

inherit pypi ptest setuptools3

SRC_URI += " \
file://run-ptest \
"

RDEPENDS:${PN}-ptest += " \
${PYTHON_PN}-pytest \
"

do_install_ptest() {
install -d ${D}${PTEST_PATH}/testing
cp -rf ${S}/testing/* ${D}${PTEST_PATH}/testing/
}
41 changes: 41 additions & 0 deletions recipes-devtools/python/python3-pytest_7.4.0.bb
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
SUMMARY = "Simple powerful testing with python"
HOMEPAGE = "https://pypi.org/project/pytest/"
DESCRIPTION = "The pytest framework makes it easy to write small tests, yet scales to support complex functional testing for applications and libraries."

LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=bd27e41b6550fe0fc45356d1d81ee37c"

SRC_URI[sha256sum] = "b4bf8c45bd59934ed84001ad51e11b4ee40d40a1229d2c79f9c592b0a3f6bd8a"

inherit update-alternatives pypi setuptools3

DEPENDS += "python3-setuptools-scm-native"

RDEPENDS:${PN} += " \
${PYTHON_PN}-atomicwrites \
${PYTHON_PN}-attrs \
${PYTHON_PN}-debugger \
${PYTHON_PN}-doctest \
${PYTHON_PN}-importlib-metadata \
${PYTHON_PN}-iniconfig \
${PYTHON_PN}-json \
${PYTHON_PN}-more-itertools \
${PYTHON_PN}-packaging \
${PYTHON_PN}-pathlib2 \
${PYTHON_PN}-pluggy \
${PYTHON_PN}-py \
${PYTHON_PN}-setuptools \
${PYTHON_PN}-six \
${PYTHON_PN}-tomli \
${PYTHON_PN}-wcwidth \
"

ALTERNATIVE:${PN} += "py.test pytest"

NATIVE_LINK_NAME[pytest] = "${bindir}/pytest"
ALTERNATIVE_TARGET[pytest] = "${bindir}/pytest"

ALTERNATIVE_LINK_NAME[py.test] = "${bindir}/py.test"
ALTERNATIVE_TARGET[py.test] = "${bindir}/py.test"

BBCLASSEXTEND = "native nativesdk"
26 changes: 26 additions & 0 deletions recipes-devtools/python/python3-setuptools-scm_6.0.1.bb
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
SUMMARY = "the blessed package to manage your versions by scm tags"
HOMEPAGE = "https://pypi.org/project/setuptools-scm/"
DESCRIPTION = "setuptools_scm handles managing your Python package versions in SCM metadata instead of declaring them as the version argument or in a SCM managed file."
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=8227180126797a0148f94f483f3e1489"

SRC_URI[sha256sum] = "d1925a69cb07e9b29416a275b9fadb009a23c148ace905b2fb220649a6c18e92"

PYPI_PACKAGE = "setuptools_scm"
inherit pypi setuptools3

UPSTREAM_CHECK_REGEX = "setuptools_scm-(?P<pver>.*)\.tar"

RDEPENDS:${PN} = "\
${PYTHON_PN}-debugger \
${PYTHON_PN}-json \
${PYTHON_PN}-py \
${PYTHON_PN}-setuptools \
${PYTHON_PN}-toml \
"
RDEPENDS:${PN}:class-native = "\
${PYTHON_PN}-setuptools-native \
${PYTHON_PN}-toml-native \
"

BBCLASSEXTEND = "native nativesdk"
15 changes: 15 additions & 0 deletions recipes-devtools/python/python3-toml_0.10.2.bb
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
SUMMARY = "Python Library for Tom's Obvious, Minimal Language"
HOMEPAGE = "https://github.com/uiri/toml"
LICENSE = "MIT"
SECTION = "devel/python"
LIC_FILES_CHKSUM = "file://LICENSE;md5=16c77b2b1050d2f03cb9c2ed0edaf4f0"

SRC_URI[sha256sum] = "b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"

inherit pypi setuptools3

BBCLASSEXTEND = "native nativesdk"

RDEPENDS:${PN} += " \
${PYTHON_PN}-misc \
"
20 changes: 20 additions & 0 deletions recipes-devtools/python/python3-tomli_2.0.1.bb
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
SUMMARY = "A lil' TOML parser"
DESCRIPTION = "Tomli is a Python library for parsing TOML. Tomli is fully \
compatible with TOML v1.0.0."
HOMEPAGE = "https://github.com/hukkin/tomli"
BUGTRACKER = "https://github.com/hukkin/tomli/issues"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=aaaaf0879d17df0110d1aa8c8c9f46f5"

inherit pypi setuptools3

SRC_URI[sha256sum] = "de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"

do_configure:prepend() {
cat > ${S}/setup.py <<-EOF
from setuptools import setup
setup(name="tomli", version="${PV}", packages=["tomli"], package_dir={'tomli': 'src/tomli'}, package_data={"": ["*"]})
EOF
}

BBCLASSEXTEND = "native nativesdk"