For quick module tests in 99% a qemu environment is enough. Before developing ptest deployment, give qemu-test-wrapper a chance.
This is far away from being mergable! Signed-off-by: Jens Rehsack <[email protected]> --- meta/classes/cpan.bbclass | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/meta/classes/cpan.bbclass b/meta/classes/cpan.bbclass index 121643eecb..1b6f2fc47f 100644 --- a/meta/classes/cpan.bbclass +++ b/meta/classes/cpan.bbclass @@ -1,7 +1,9 @@ # # This is for perl modules that use the old Makefile.PL build system # -inherit cpan-base perlnative +inherit cpan-base perlnative qemu + +DEPENDS += "qemu-native qemu-helper-native perl" EXTRA_CPANFLAGS ?= "" EXTRA_PERLFLAGS ?= "" @@ -28,6 +30,21 @@ cpan_do_configure () { [ -e Makefile ] || bbfatal "No Makefile was generated by Makefile.PL" if [ "${BUILD_SYS}" != "${HOST_SYS}" ]; then + qemu_binary="${@qemu_wrapper_cmdline(d, '${STAGING_DIR_TARGET}', ['${S}', '${STAGING_DIR_TARGET}/${base_libdir}'])}" + cat > ${WORKDIR}/qemu-perl-wrapper << EOF +#!/bin/sh +set -x +unset PERLHOSTLIB +unset PERLHOSTARCHLIB +for test in "\$@" +do + test -f \$test || continue + $qemu_binary -E PERL5LIB="${PERL_ARCHLIB}:${PERL_LIB}" ${STAGING_DIR_TARGET}/usr/bin/perl -Mblib "\$test" +done +EOF + + chmod +x ${WORKDIR}/qemu-perl-wrapper + . ${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/config.sh # Use find since there can be a Makefile generated for each Makefile.PL for f in `find -name Makefile.PL`; do @@ -36,6 +53,7 @@ cpan_do_configure () { sed -i -e "s:\(PERL_ARCHLIB = \).*:\1${PERL_ARCHLIB}:" \ -e 's/perl.real/perl/' \ -e "s|^\(CCFLAGS =.*\)|\1 ${CFLAGS}|" \ + -e 's,$(FULLPERLRUN) "-MExtUtils::Command::MM".* $(TEST_FILES),$(FULLPERLRUN) $(TEST_FILES),' \ $f2 done fi @@ -62,4 +80,13 @@ cpan_do_install () { done } -EXPORT_FUNCTIONS do_configure do_compile do_install +cpan_do_run_module_tests () { + cd ${S} + oe_runmake test FULLPERLRUN=${WORKDIR}/qemu-perl-wrapper +} + +addtask do_run_module_tests + +do_run_module_tests[depends] += "${PN}:do_compile" + +EXPORT_FUNCTIONS do_configure do_compile do_run_module_tests do_install -- 2.17.1 -- _______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
