Files
meta-openembedded/meta-python/recipes-devtools/python/python3-django.inc
Gyorgy Sarvari 035fb64599 python3-django: add ptest support
Execute the standard, non-selenium tests. The execution is
on the slower side: on my idle machine, KVM enabled it takes
a bit more than 2.5 minutes to execute it (executing tests with
4 threads parallel, 1/core, the default configuration). If the machine is
under load, it easily grows to over 10 minutes.

Added two backported patches for Django 5.2 to fix some tests that
would otherwise fail:

0001-Fix-test_strip_tags-test.patch: tag stripping tests failed due to
changed Python behavior

0001-fix-test_msgfmt_error_including_non_ascii-test.patch: tests were
updated to work with msgfmt 0.25

Most of the skipped tests require some specific database backend
(Postgres, MySQL, Oracle...) or are Selenium tests.

When the default parallelism is used for the execution, the package
needs 3GB RAM at least.

The output is very long (the suite contains way over 15k tests),
so I omit the example output here.

The current summary (for v5.2.9):
Ran 18121 tests in 140.891s
OK (skipped=1394, expected failures=5)

Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2026-01-17 14:57:58 -08:00

64 lines
1.4 KiB
PHP

SUMMARY = "A high-level Python Web framework"
HOMEPAGE = "https://www.djangoproject.com/"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=f09eb47206614a4954c51db8a94840fa"
PYPI_PACKAGE = "django"
UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}"
inherit pypi ptest
SRC_URI += "file://run-ptest"
FILES:${PN} += "${datadir}/django"
BBCLASSEXTEND = "native nativesdk"
RDEPENDS:${PN} += "\
python3-compression \
python3-ctypes \
python3-datetime \
python3-email \
python3-html \
python3-json \
python3-logging \
python3-multiprocessing \
python3-netserver \
python3-numbers \
python3-pkgutil \
python3-pytz \
python3-threading \
python3-unixadmin \
python3-xml \
"
CVE_PRODUCT = "django"
do_install_ptest(){
install -d ${D}${PTEST_PATH}//docs/_ext
install -m 0644 ${S}/docs/_ext/github_links.py ${D}${PTEST_PATH}/docs/_ext
cp -r ${S}/tests ${D}${PTEST_PATH}
sed -i 's,/usr/bin/env python,/usr/bin/env python3,' ${D}${PTEST_PATH}/tests/runtests.py
ln -sr ${D}${libdir}/python3.*/site-packages/django ${D}${PTEST_PATH}/django
}
RDEPENDS:${PN}-ptest += " \
gettext \
python3-asgiref \
python3-bcrypt \
python3-compile \
python3-docutils \
python3-fcntl \
python3-jinja2 \
python3-misc \
python3-numpy \
python3-pillow \
python3-pyyaml \
python3-sqlite3 \
python3-statistics \
python3-tblib \
python3-zoneinfo \
tzdata \
"