diff options
author | Peter Kjellerstedt <peter.kjellerstedt@axis.com> | 2017-06-09 21:34:24 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-06-12 23:01:22 +0100 |
commit | 4495e78917be867413c324b89a58facbeacb7eb8 (patch) | |
tree | e99523dc2de862b81797394c932061d26e441399 /meta/recipes-core/libxml | |
parent | 3a9a5e85e850e68bc405fa27b97c29b8b5a1ceb2 (diff) | |
download | poky-4495e78917be867413c324b89a58facbeacb7eb8.tar.gz |
libxml2: Make ptest run the Python tests if Python support is enabled
Since we go through the trouble of copying the Python tests, we may as
well actually run them...
This also avoids the following QA issue:
ERROR: libxml2-2.9.4-r0 do_package_qa: QA Issue:
/usr/lib/libxml2/ptest/python/tests/push.py contained in package
libxml2-ptest requires /usr/bin/python, but no providers found in
RDEPENDS_libxml2-ptest? [file-rdeps]
(From OE-Core rev: 65bc9fac6dc6ba5252bf105659724c768d65f9d9)
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-core/libxml')
-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 () { |