diff mbox series

[meta-oe,kirkstone,1/2] libxml++: fix ptests

Message ID 20251031112342.674183-1-skandigraun@gmail.com
State New
Headers show
Series [meta-oe,kirkstone,1/2] libxml++: fix ptests | expand

Commit Message

Gyorgy Sarvari Oct. 31, 2025, 11:23 a.m. UTC
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 <skandigraun@gmail.com>
---
 .../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 mbox series

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)/<!progname!>" && "$(abs_builddir)/<!progname!>/<!progname!>" >/dev/null
-+script_template = cd "<!progname!>" && ".libs/<!progname!>" >/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"