From 53cb1f213c3c91fd8e9f20e960a70c5e67de210f Mon Sep 17 00:00:00 2001 From: Gyorgy Sarvari Date: Fri, 31 Oct 2025 12:23:41 +0100 Subject: [PATCH] libxml++: fix ptests The previous version installed the examples as ptests, not the actual tests. This change compiles the tests on the build machine, install them, and execute them on the target machine. Signed-off-by: Gyorgy Sarvari --- .../libxml/libxml++/libxml++_ptest.patch | 78 ------------------- .../recipes-core/libxml/libxml++/run-ptest | 5 +- .../recipes-core/libxml/libxml++_2.42.1.bb | 12 ++- 3 files changed, 11 insertions(+), 84 deletions(-) delete mode 100644 meta-oe/recipes-core/libxml/libxml++/libxml++_ptest.patch diff --git a/meta-oe/recipes-core/libxml/libxml++/libxml++_ptest.patch b/meta-oe/recipes-core/libxml/libxml++/libxml++_ptest.patch deleted file mode 100644 index dc6198fe98..0000000000 --- a/meta-oe/recipes-core/libxml/libxml++/libxml++_ptest.patch +++ /dev/null @@ -1,78 +0,0 @@ ---- a/Makefile.am -+++ b/Makefile.am -@@ -40,5 +40,8 @@ EXTRA_DIST = \ - tools/conf_tests/have_exception_ptr.cc \ - untracked/README - -+install-ptest: -+ make -C examples install-ptest -+ - # Optional: auto-generate the ChangeLog file from the git log on make dist - include $(top_srcdir)/build/dist-changelog.am ---- a/examples/Makefile.am -+++ b/examples/Makefile.am -@@ -19,6 +19,8 @@ AM_CPPFLAGS = -I$(top_builddir) -I$(top_ - AM_CXXFLAGS = $(LIBXMLXX_WXXFLAGS) - LDADD = $(top_builddir)/libxml++/libxml++-$(LIBXMLXX_API_VERSION).la $(LIBXMLXX_LIBS) - -+LOG_DRIVER = $(SHELL) ../macros/test-driver -+ - check_PROGRAMS = \ - dom_build/dom_build \ - dom_parse_entities/dom_parse_entities \ -@@ -37,6 +39,23 @@ check_PROGRAMS = \ - schemavalidation/schemavalidation \ - textreader/textreader - -+check_DOTLIBS = \ -+ dom_build/.libs/dom_build \ -+ dom_parse_entities/.libs/dom_parse_entities \ -+ dom_parser/.libs/dom_parser \ -+ dom_parser_raw/.libs/dom_parser_raw \ -+ dom_read_write/.libs/dom_read_write \ -+ dom_xinclude/.libs/dom_xinclude \ -+ dom_xpath/.libs/dom_xpath \ -+ dtdvalidation/.libs/dtdvalidation \ -+ import_node/.libs/import_node \ -+ sax_exception/.libs/sax_exception \ -+ sax_parser/.libs/sax_parser \ -+ sax_parser_build_dom/.libs/sax_parser_build_dom \ -+ sax_parser_entities/.libs/sax_parser_entities \ -+ schemavalidation/.libs/schemavalidation \ -+ textreader/.libs/textreader -+ - # Shell scripts that call the example programs. - check_SCRIPTS = \ - dom_build/make_check.sh \ -@@ -154,10 +173,10 @@ dist_noinst_DATA = \ - # file are located in different directories. - dom_read_write/make_check.sh: Makefile - $(AM_V_GEN)echo '# Generated and used by "make check"' >$@ -- $(AM_V_at)echo 'dom_read_write/dom_read_write "$(srcdir)/dom_read_write/example.xml" dom_read_write/example_output.xml >/dev/null' >>$@ -+ $(AM_V_at)echo 'cd dom_read_write && .libs/dom_read_write "example.xml" example_output.xml >/dev/null' >>$@ - $(AM_V_at)chmod +x $@ - --script_template = cd "$(srcdir)/" && "$(abs_builddir)//" >/dev/null -+script_template = cd "" && ".libs/" >/dev/null - standard_scripts = $(filter-out dom_read_write/make_check.sh,$(check_SCRIPTS)) - - # All other script files are generated like so: -@@ -169,3 +188,18 @@ $(standard_scripts): Makefile - CLEANFILES = \ - dom_read_write/example_output.xml \ - $(check_SCRIPTS) -+ -+buildtest: all -+ $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) $(check_SCRIPTS) -+ $(MAKE) $(AM_MAKEFLAGS) buildtest-TESTS -+ -+install-ptest: -+ $(MKDIR_P) $(DESTDIR)/examples -+ cp --parents $(check_DOTLIBS) $(DESTDIR)/examples -+ cp --parents $(check_SCRIPTS) $(DESTDIR)/examples -+ cd $(srcdir) && cp --parents $(dist_noinst_DATA) $(DESTDIR)/examples -+ cp Makefile $(DESTDIR)/examples -+ $(MKDIR_P) $(DESTDIR)/macros -+ cp $(top_srcdir)/build/test-driver $(DESTDIR)/macros -+ sed -i -e 's|^Makefile:|_Makefile:|' $(DESTDIR)/examples/Makefile -+ diff --git a/meta-oe/recipes-core/libxml/libxml++/run-ptest b/meta-oe/recipes-core/libxml/libxml++/run-ptest index 236f667538..5e2d4177e2 100644 --- a/meta-oe/recipes-core/libxml/libxml++/run-ptest +++ b/meta-oe/recipes-core/libxml/libxml++/run-ptest @@ -1,3 +1,4 @@ #!/bin/sh -cd examples -make -k check-TESTS +for t in tests/*; do + $t && echo PASS: $t || echo FAIL: $t +done diff --git a/meta-oe/recipes-core/libxml/libxml++_2.42.1.bb b/meta-oe/recipes-core/libxml/libxml++_2.42.1.bb index f75568a1d9..412cc1ac21 100644 --- a/meta-oe/recipes-core/libxml/libxml++_2.42.1.bb +++ b/meta-oe/recipes-core/libxml/libxml++_2.42.1.bb @@ -8,7 +8,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34 " SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}" SRC_URI = "${GNOME_MIRROR}/${BPN}/${SHRT_VER}/${BP}.tar.xz \ - file://libxml++_ptest.patch \ file://run-ptest \ " SRC_URI[sha256sum] = "9b59059abe5545d28ceb388a55e341095f197bd219c73e6623aeb6d801e00be8" @@ -24,10 +23,15 @@ do_configure:prepend() { } do_compile_ptest() { - oe_runmake -C examples buildtest + oe_runmake_call -C tests check || true +} + +do_install_ptest() { + cd ${B}/tests + for t in *; do + [ -d $t ] && install -D $t/.libs/test ${D}${PTEST_PATH}/tests/$t + done } FILES:${PN}-doc += "${datadir}/devhelp" FILES:${PN}-dev += "${libdir}/libxml++-2.6/include/libxml++config.h" - -RDEPENDS:${PN}-ptest += "make"