diff options
| -rw-r--r-- | meta/recipes-core/libxml/libxml2/0001-Make-ptest-run-the-python-tests-if-python-is-enabled.patch | 99 | ||||
| -rw-r--r-- | meta/recipes-core/libxml/libxml2_2.9.4.bb | 11 |
2 files changed, 108 insertions, 2 deletions
diff --git a/meta/recipes-core/libxml/libxml2/0001-Make-ptest-run-the-python-tests-if-python-is-enabled.patch b/meta/recipes-core/libxml/libxml2/0001-Make-ptest-run-the-python-tests-if-python-is-enabled.patch new file mode 100644 index 0000000000..d1ad55116a --- /dev/null +++ b/meta/recipes-core/libxml/libxml2/0001-Make-ptest-run-the-python-tests-if-python-is-enabled.patch | |||
| @@ -0,0 +1,99 @@ | |||
| 1 | From 78dbd4c09d617a9cb730d796f94ee4d93840d3cc Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Peter Kjellerstedt <pkj@axis.com> | ||
| 3 | Date: Fri, 9 Jun 2017 17:50:46 +0200 | ||
| 4 | Subject: [PATCH] Make ptest run the python tests if python is enabled | ||
| 5 | |||
| 6 | One of the tests (tstLastError.py) needed a minor correction. It might | ||
| 7 | be due to the fact that the tests are forced to run with Python 3. | ||
| 8 | |||
| 9 | Upstream-Status: Inappropriate [OE specific] | ||
| 10 | Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> | ||
| 11 | --- | ||
| 12 | Makefile.am | 2 +- | ||
| 13 | python/Makefile.am | 9 +++++++++ | ||
| 14 | python/tests/Makefile.am | 12 ++++++++++-- | ||
| 15 | python/tests/tstLastError.py | 2 +- | ||
| 16 | 4 files changed, 21 insertions(+), 4 deletions(-) | ||
| 17 | |||
| 18 | diff --git a/Makefile.am b/Makefile.am | ||
| 19 | index e181ee0..7960e7d 100644 | ||
| 20 | --- a/Makefile.am | ||
| 21 | +++ b/Makefile.am | ||
| 22 | @@ -207,9 +207,9 @@ install-ptest: | ||
| 23 | install $(noinst_PROGRAMS) $(DESTDIR)) | ||
| 24 | cp -r $(srcdir)/test $(DESTDIR) | ||
| 25 | cp -r $(srcdir)/result $(DESTDIR) | ||
| 26 | - cp -r $(srcdir)/python $(DESTDIR) | ||
| 27 | cp Makefile $(DESTDIR) | ||
| 28 | sed -i -e 's|^Makefile:|_Makefile:|' $(DESTDIR)/Makefile | ||
| 29 | + $(MAKE) -C python install-ptest | ||
| 30 | |||
| 31 | runtests: | ||
| 32 | [ -d test ] || $(LN_S) $(srcdir)/test . | ||
| 33 | diff --git a/python/Makefile.am b/python/Makefile.am | ||
| 34 | index 34aed96..ba3ec6a 100644 | ||
| 35 | --- a/python/Makefile.am | ||
| 36 | +++ b/python/Makefile.am | ||
| 37 | @@ -48,7 +48,16 @@ GENERATED = libxml2class.py libxml2class.txt $(BUILT_SOURCES) | ||
| 38 | |||
| 39 | $(GENERATED): $(srcdir)/generator.py $(API_DESC) | ||
| 40 | $(PYTHON) $(srcdir)/generator.py $(srcdir) | ||
| 41 | + | ||
| 42 | +install-ptest: | ||
| 43 | + cp -r $(srcdir) $(DESTDIR) | ||
| 44 | + sed -e 's|^Makefile:|_Makefile:|' \ | ||
| 45 | + -e 's|^\(tests test:\) all|\1|' Makefile >$(DESTDIR)/python/Makefile | ||
| 46 | + $(MAKE) -C tests install-ptest | ||
| 47 | +else | ||
| 48 | +install-ptest: | ||
| 49 | endif | ||
| 50 | |||
| 51 | +.PHONY: tests test | ||
| 52 | tests test: all | ||
| 53 | cd tests && $(MAKE) tests | ||
| 54 | diff --git a/python/tests/Makefile.am b/python/tests/Makefile.am | ||
| 55 | index 95ebead..418e21e 100644 | ||
| 56 | --- a/python/tests/Makefile.am | ||
| 57 | +++ b/python/tests/Makefile.am | ||
| 58 | @@ -59,6 +59,11 @@ XMLS= \ | ||
| 59 | CLEANFILES = core tmp.xml *.pyc | ||
| 60 | |||
| 61 | if WITH_PYTHON | ||
| 62 | +install-ptest: | ||
| 63 | + cp -r $(srcdir) $(DESTDIR)/python | ||
| 64 | + sed -e 's|^Makefile:|_Makefile:|' \ | ||
| 65 | + -e 's|^\(srcdir = \).*|\1.|' Makefile >$(DESTDIR)/python/tests/Makefile | ||
| 66 | + | ||
| 67 | tests: $(PYTESTS) | ||
| 68 | @for f in $(XMLS) ; do test -f $$f || $(LN_S) $(srcdir)/$$f . ; done | ||
| 69 | @echo "## running Python regression tests" | ||
| 70 | @@ -68,8 +73,11 @@ tests: $(PYTESTS) | ||
| 71 | export LD_LIBRARY_PATH; \ | ||
| 72 | for test in $(PYTESTS) ; \ | ||
| 73 | do log=`$(PYTHON) $(srcdir)/$$test` ; \ | ||
| 74 | - if [ "`echo $$log | grep OK`" = "" ] ; then \ | ||
| 75 | - echo "-- $$test" ; echo "$$log" ; fi ; done) | ||
| 76 | + if [ "`echo $$log | grep OK`" ]; then \ | ||
| 77 | + echo "PASS: $$test"; else \ | ||
| 78 | + echo "$$log"; echo "FAIL: $$test"; fi; done) | ||
| 79 | else | ||
| 80 | +install-ptest: | ||
| 81 | + | ||
| 82 | tests: | ||
| 83 | endif | ||
| 84 | diff --git a/python/tests/tstLastError.py b/python/tests/tstLastError.py | ||
| 85 | index d5f9be7..3e5bef8 100755 | ||
| 86 | --- a/python/tests/tstLastError.py | ||
| 87 | +++ b/python/tests/tstLastError.py | ||
| 88 | @@ -25,7 +25,7 @@ class TestCase(unittest.TestCase): | ||
| 89 | when the exception is raised, check the libxml2.lastError for | ||
| 90 | expected values.""" | ||
| 91 | # disable the default error handler | ||
| 92 | - libxml2.registerErrorHandler(None,None) | ||
| 93 | + libxml2.registerErrorHandler(lambda ctx,str: None,None) | ||
| 94 | try: | ||
| 95 | f(*args) | ||
| 96 | except exc: | ||
| 97 | -- | ||
| 98 | 2.12.0 | ||
| 99 | |||
diff --git a/meta/recipes-core/libxml/libxml2_2.9.4.bb b/meta/recipes-core/libxml/libxml2_2.9.4.bb index ea0d3b88af..4f60781d22 100644 --- a/meta/recipes-core/libxml/libxml2_2.9.4.bb +++ b/meta/recipes-core/libxml/libxml2_2.9.4.bb | |||
| @@ -24,7 +24,8 @@ SRC_URI = "ftp://xmlsoft.org/libxml2/libxml2-${PV}.tar.gz;name=libtar \ | |||
| 24 | file://libxml2-CVE-2016-4658.patch \ | 24 | file://libxml2-CVE-2016-4658.patch \ |
| 25 | file://libxml2-fix_NULL_pointer_derefs.patch \ | 25 | file://libxml2-fix_NULL_pointer_derefs.patch \ |
| 26 | file://CVE-2016-9318.patch \ | 26 | file://CVE-2016-9318.patch \ |
| 27 | " | 27 | file://0001-Make-ptest-run-the-python-tests-if-python-is-enabled.patch \ |
| 28 | " | ||
| 28 | 29 | ||
| 29 | SRC_URI[libtar.md5sum] = "ae249165c173b1ff386ee8ad676815f5" | 30 | SRC_URI[libtar.md5sum] = "ae249165c173b1ff386ee8ad676815f5" |
| 30 | SRC_URI[libtar.sha256sum] = "ffb911191e509b966deb55de705387f14156e1a56b21824357cdf0053233633c" | 31 | SRC_URI[libtar.sha256sum] = "ffb911191e509b966deb55de705387f14156e1a56b21824357cdf0053233633c" |
| @@ -43,7 +44,7 @@ inherit autotools pkgconfig binconfig-disabled ptest | |||
| 43 | 44 | ||
| 44 | inherit ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3native', '', d)} | 45 | inherit ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3native', '', d)} |
| 45 | 46 | ||
| 46 | RDEPENDS_${PN}-ptest += "make ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3-core', '', d)}" | 47 | RDEPENDS_${PN}-ptest += "make ${@bb.utils.contains('PACKAGECONFIG', 'python', 'libgcc python3-core python3-argparse python3-logging python3-shell python3-signal python3-stringold python3-threading python3-unittest ${PN}-python', '', d)}" |
| 47 | 48 | ||
| 48 | RDEPENDS_${PN}-python += "${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3-core', '', d)}" | 49 | RDEPENDS_${PN}-python += "${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3-core', '', d)}" |
| 49 | 50 | ||
| @@ -77,6 +78,12 @@ do_configure_prepend () { | |||
| 77 | 78 | ||
| 78 | do_install_ptest () { | 79 | do_install_ptest () { |
| 79 | cp -r ${WORKDIR}/xmlconf ${D}${PTEST_PATH} | 80 | cp -r ${WORKDIR}/xmlconf ${D}${PTEST_PATH} |
| 81 | if [ "${@bb.utils.filter('PACKAGECONFIG', 'python', d)}" ]; then | ||
| 82 | sed -i -e 's|^\(PYTHON = \).*|\1${USRBINPATH}/${PYTHON_PN}|' \ | ||
| 83 | ${D}${PTEST_PATH}/python/tests/Makefile | ||
| 84 | grep -lrZ '#!/usr/bin/python' ${D}${PTEST_PATH}/python | | ||
| 85 | xargs -0 sed -i -e 's|/usr/bin/python|${USRBINPATH}/${PYTHON_PN}|' | ||
| 86 | fi | ||
| 80 | } | 87 | } |
| 81 | 88 | ||
| 82 | do_install_append_class-native () { | 89 | do_install_append_class-native () { |
