[gnome-continuous-yocto/gnomeostree-3.28-rocko: 6252/8267] libxml2: Make ptest run the Python tests if Python support is enabled



commit 4495e78917be867413c324b89a58facbeacb7eb8
Author: Peter Kjellerstedt <peter kjellerstedt axis com>
Date:   Fri Jun 9 21:34:24 2017 +0200

    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>

 ...run-the-python-tests-if-python-is-enabled.patch |   99 ++++++++++++++++++++
 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 0000000..d1ad551
--- /dev/null
+++ b/meta/recipes-core/libxml/libxml2/0001-Make-ptest-run-the-python-tests-if-python-is-enabled.patch
@@ -0,0 +1,99 @@
+From 78dbd4c09d617a9cb730d796f94ee4d93840d3cc Mon Sep 17 00:00:00 2001
+From: Peter Kjellerstedt <pkj axis com>
+Date: Fri, 9 Jun 2017 17:50:46 +0200
+Subject: [PATCH] Make ptest run the python tests if python is enabled
+
+One of the tests (tstLastError.py) needed a minor correction. It might
+be due to the fact that the tests are forced to run with Python 3.
+
+Upstream-Status: Inappropriate [OE specific]
+Signed-off-by: Peter Kjellerstedt <peter kjellerstedt axis com>
+---
+ Makefile.am                  |  2 +-
+ python/Makefile.am           |  9 +++++++++
+ python/tests/Makefile.am     | 12 ++++++++++--
+ python/tests/tstLastError.py |  2 +-
+ 4 files changed, 21 insertions(+), 4 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index e181ee0..7960e7d 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -207,9 +207,9 @@ install-ptest:
+       install $(noinst_PROGRAMS) $(DESTDIR))
+       cp -r $(srcdir)/test $(DESTDIR)
+       cp -r $(srcdir)/result $(DESTDIR)
+-      cp -r $(srcdir)/python $(DESTDIR)
+       cp Makefile $(DESTDIR)
+       sed -i -e 's|^Makefile:|_Makefile:|' $(DESTDIR)/Makefile
++      $(MAKE) -C python install-ptest
+ 
+ runtests:
+       [ -d test   ] || $(LN_S) $(srcdir)/test   .
+diff --git a/python/Makefile.am b/python/Makefile.am
+index 34aed96..ba3ec6a 100644
+--- a/python/Makefile.am
++++ b/python/Makefile.am
+@@ -48,7 +48,16 @@ GENERATED = libxml2class.py libxml2class.txt $(BUILT_SOURCES)
+ 
+ $(GENERATED): $(srcdir)/generator.py $(API_DESC)
+       $(PYTHON) $(srcdir)/generator.py $(srcdir)
++
++install-ptest:
++      cp -r $(srcdir) $(DESTDIR)
++      sed -e 's|^Makefile:|_Makefile:|' \
++          -e 's|^\(tests test:\) all|\1|' Makefile >$(DESTDIR)/python/Makefile
++      $(MAKE) -C tests install-ptest
++else
++install-ptest:
+ endif
+ 
++.PHONY: tests test
+ tests test: all
+       cd tests && $(MAKE) tests
+diff --git a/python/tests/Makefile.am b/python/tests/Makefile.am
+index 95ebead..418e21e 100644
+--- a/python/tests/Makefile.am
++++ b/python/tests/Makefile.am
+@@ -59,6 +59,11 @@ XMLS=               \
+ CLEANFILES = core tmp.xml *.pyc
+ 
+ if WITH_PYTHON
++install-ptest:
++      cp -r $(srcdir) $(DESTDIR)/python
++      sed -e 's|^Makefile:|_Makefile:|' \
++          -e 's|^\(srcdir = \).*|\1.|' Makefile >$(DESTDIR)/python/tests/Makefile
++
+ tests: $(PYTESTS)
+       @for f in $(XMLS) ; do test -f $$f || $(LN_S) $(srcdir)/$$f . ; done
+       @echo "## running Python regression tests"
+@@ -68,8 +73,11 @@ tests: $(PYTESTS)
+          export LD_LIBRARY_PATH; \
+          for test in $(PYTESTS) ; \
+          do log=`$(PYTHON) $(srcdir)/$$test` ; \
+-         if [ "`echo $$log | grep OK`" = "" ] ; then \
+-         echo "-- $$test" ; echo "$$log" ; fi ; done)
++         if [ "`echo $$log | grep OK`" ]; then \
++         echo "PASS: $$test"; else \
++         echo "$$log"; echo "FAIL: $$test"; fi; done)
+ else
++install-ptest:
++
+ tests:
+ endif
+diff --git a/python/tests/tstLastError.py b/python/tests/tstLastError.py
+index d5f9be7..3e5bef8 100755
+--- a/python/tests/tstLastError.py
++++ b/python/tests/tstLastError.py
+@@ -25,7 +25,7 @@ class TestCase(unittest.TestCase):
+         when the exception is raised, check the libxml2.lastError for
+         expected values."""
+         # disable the default error handler
+-        libxml2.registerErrorHandler(None,None)
++        libxml2.registerErrorHandler(lambda ctx,str: None,None)
+         try:
+             f(*args)
+         except exc:
+-- 
+2.12.0
+
diff --git a/meta/recipes-core/libxml/libxml2_2.9.4.bb b/meta/recipes-core/libxml/libxml2_2.9.4.bb
index ea0d3b8..4f60781 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 \
            file://libxml2-CVE-2016-4658.patch \
            file://libxml2-fix_NULL_pointer_derefs.patch \
            file://CVE-2016-9318.patch \
-          "
+           file://0001-Make-ptest-run-the-python-tests-if-python-is-enabled.patch \
+           "
 
 SRC_URI[libtar.md5sum] = "ae249165c173b1ff386ee8ad676815f5"
 SRC_URI[libtar.sha256sum] = "ffb911191e509b966deb55de705387f14156e1a56b21824357cdf0053233633c"
@@ -43,7 +44,7 @@ inherit autotools pkgconfig binconfig-disabled ptest
 
 inherit ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3native', '', d)}
 
-RDEPENDS_${PN}-ptest += "make ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3-core', '', d)}"
+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)}"
 
 RDEPENDS_${PN}-python += "${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3-core', '', d)}"
 
@@ -77,6 +78,12 @@ do_configure_prepend () {
 
 do_install_ptest () {
        cp -r ${WORKDIR}/xmlconf ${D}${PTEST_PATH}
+       if [ "${@bb.utils.filter('PACKAGECONFIG', 'python', d)}" ]; then
+               sed -i -e 's|^\(PYTHON = \).*|\1${USRBINPATH}/${PYTHON_PN}|' \
+                   ${D}${PTEST_PATH}/python/tests/Makefile
+               grep -lrZ '#!/usr/bin/python' ${D}${PTEST_PATH}/python |
+                       xargs -0 sed -i -e 's|/usr/bin/python|${USRBINPATH}/${PYTHON_PN}|'
+       fi
 }
 
 do_install_append_class-native () {


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]