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 <[email protected]>
---
 .../ptest-packagelists-meta-python.inc        |  1 +
 .../python/python3-a2wsgi/run-ptest           |  3 ++
 .../python/python3-a2wsgi_1.10.2.bb           | 33 +++++++++++++++++++
 3 files changed, 37 insertions(+)
 create mode 100644 meta-python/recipes-devtools/python/python3-a2wsgi/run-ptest
 create mode 100644 meta-python/recipes-devtools/python/python3-a2wsgi_1.10.2.bb

diff --git a/meta-python/conf/include/ptest-packagelists-meta-python.inc 
b/meta-python/conf/include/ptest-packagelists-meta-python.inc
index 63457189e..acfe28039 100644
--- a/meta-python/conf/include/ptest-packagelists-meta-python.inc
+++ b/meta-python/conf/include/ptest-packagelists-meta-python.inc
@@ -7,6 +7,7 @@
 #
 # ptests which take less than ~30s each
 PTESTS_FAST_META_PYTHON = "\
+    python3-a2wsgi \
     python3-appdirs \
     python3-ansicolors \
     python3-asgiref \
diff --git a/meta-python/recipes-devtools/python/python3-a2wsgi/run-ptest 
b/meta-python/recipes-devtools/python/python3-a2wsgi/run-ptest
new file mode 100644
index 000000000..8d2017d39
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python3-a2wsgi/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest --automake
diff --git a/meta-python/recipes-devtools/python/python3-a2wsgi_1.10.2.bb 
b/meta-python/recipes-devtools/python/python3-a2wsgi_1.10.2.bb
new file mode 100644
index 000000000..4d24c4517
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python3-a2wsgi_1.10.2.bb
@@ -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 \
+"
-- 
2.25.1

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#109239): 
https://lists.openembedded.org/g/openembedded-devel/message/109239
Mute This Topic: https://lists.openembedded.org/mt/104815552/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to