Skip to content

Commit

Permalink
Backport python3-pytest v7.4.0 (#154)
Browse files Browse the repository at this point in the history
  • Loading branch information
offa committed Aug 2, 2023
1 parent ed1b8f1 commit 52d4e72
Show file tree
Hide file tree
Showing 11 changed files with 238 additions and 0 deletions.
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"

0 comments on commit 52d4e72

Please sign in to comment.