python3-pillow: add ptest support

Add initial pillow ptest support.

The ptest result is:
   ====== 3600 passed  324 skipped, 2 xfailed, 1 xpassed in 62.41s (0:01:02) ======
for qemux86-64 with 2 GB RAM.

The skipped tests as summarized with:
   # ptest-runner python3-pillow | tee log
   # grep SKIPP log  | cut -d"(" -f2- | cut -d")" -f1 | cut -d" " -f1 | sort | uniq -c| sort -n | tail -4
     12 webp
     13 Tk
     14 Qt
     84 raqm
Webp was explicityly disabled in 2018 in:
   6cb4e90fc python3-pillow: add 5.4.1
I didn't test Tk or Qt and there isn't yet a recipe for libraqm:
   https://github.com/HOST-Oman/libraqm
a library that encapsulates the logic for complex text layout.

Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Randy MacLeod 2023-01-31 12:28:27 -08:00 committed by Khem Raj
parent 65ac92781f
commit 7b0e71e00c
2 changed files with 24 additions and 1 deletions

View File

@ -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/SKIPED/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}}'

View File

@ -8,10 +8,11 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=bc416d18f294943285560364be7cbec1"
SRC_URI = "git://github.com/python-pillow/Pillow.git;branch=main;protocol=https \
file://0001-support-cross-compiling.patch \
file://0001-explicitly-set-compile-options.patch \
file://run-ptest \
"
SRCREV ?= "82541b6dec8452cb612067fcebba1c5a1a2bfdc8"
inherit setuptools3
inherit setuptools3 ptest
PIP_INSTALL_PACKAGE = "Pillow"
PIP_INSTALL_DIST_PATH = "${S}/dist"
@ -31,12 +32,31 @@ RDEPENDS:${PN} += " \
${PYTHON_PN}-numbers \
"
RDEPENDS:${PN}-ptest += " \
bash \
ghostscript \
jpeg-tools \
libwebp \
${PYTHON_PN}-core \
${PYTHON_PN}-image \
${PYTHON_PN}-mmap \
${PYTHON_PN}-pytest \
${PYTHON_PN}-pytest-timeout \
${PYTHON_PN}-resource \
tk \
"
CVE_PRODUCT = "pillow"
S = "${WORKDIR}/git"
RPROVIDES:${PN} += "python3-imaging"
do_install_ptest() {
install -d ${D}${PTEST_PATH}/Tests
cp -rf ${S}/Tests ${D}${PTEST_PATH}/
}
BBCLASSEXTEND = "native"
SRCREV = "a5bbab1c1e63b439de191ef2040173713b26d2da"