python3-a2wsgi: added recipe which is also include ptest

Pure Python and only depend on the standard library.

Compared with other converters, the advantage is that a2wsgi will not accumulate the requested content or response content in the memory, so you don't have to worry about the memory limit caused by a2wsgi. This problem exists in converters implemented by uvicorn/startlette or hypercorn.

* Ptest and library example tested on qemux86-64 and qemuarm64

* Add ptest into PTESTS_FAST_META_PYTHON

Ptest result:
==============
qemux86-64:

Testsuite summary
TOTAL: 15
PASS: 15
SKIP: 0
XFAIL: 0
FAIL: 0
XPASS: 0
ERROR: 0
DURATION: 22
END: /usr/lib/python3-a2wsgi/ptest
2024-03-08T18:58
STOP: ptest-runner
TOTAL: 1 FAIL: 0

qemuarm64:

Testsuite summary
TOTAL: 15
PASS: 15
SKIP: 0
XFAIL: 0
FAIL: 0
XPASS: 0
ERROR: 0
DURATION: 22
END: /usr/lib/python3-a2wsgi/ptest
2024-03-08T19:05
STOP: ptest-runner
TOTAL: 1 FAIL: 0

Signed-off-by: alperak <alperyasinak1@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
alperak 2024-03-08 22:21:03 +03:00 committed by Khem Raj
parent 578071e46f
commit 75d5263f30
No known key found for this signature in database
GPG Key ID: BB053355919D3314
3 changed files with 37 additions and 0 deletions

View File

@ -7,6 +7,7 @@
#
# ptests which take less than ~30s each
PTESTS_FAST_META_PYTHON = "\
python3-a2wsgi \
python3-appdirs \
python3-ansicolors \
python3-asgiref \

View File

@ -0,0 +1,3 @@
#!/bin/sh
pytest --automake

View File

@ -0,0 +1,33 @@
SUMMARY = "Convert WSGI app to ASGI app or ASGI app to WSGI app."
HOMEPAGE = "https://github.com/abersheeran/a2wsgi"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e10d05d29ec6d8be8bfc503683f1bc9a"
inherit pypi python_setuptools_build_meta ptest
SRC_URI[sha256sum] = "46b2ca427cf9ad538c145e32eb36857e1cbf477b72fe1ed0e3d35e98c06061b9"
DEPENDS += " \
python3-pdm-native \
python3-pdm-backend-native \
"
SRC_URI += " \
file://run-ptest \
"
RDEPENDS:${PN}-ptest += " \
python3-httpx \
python3-pytest \
python3-pytest-asyncio \
python3-unittest-automake-output \
"
do_install_ptest() {
install -d ${D}${PTEST_PATH}/tests
cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
}
RDEPENDS:${PN} += " \
python3-asyncio \
"