mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-06-13 17:39:57 +00:00
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 <skandigraun@gmail.com>
This commit is contained in:
@@ -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
|
||||
+
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user