perl-tests: convert to ptest

On 05/17/2013 05:31 PM, Björn Stenberg wrote:
> Unless there are clear advantages with patching t/TEST that I have overlooked, I suggest using sed in run-ptest instead.

Ok.. Here is the new commit.

Removed the patch and added a call to sed in run-ptest. See attachment
for the test log.

From: Jesse Zhang <sen.zhang@windriver.com>
Date: Tue, 14 May 2013 02:53:30 -0400
Subject: [PATCH 1/1] perl-tests: convert to ptest

Replace PERL_TEST_DIR with PTEST_PATH, and rename "tests" with "ptest"
in various places. Also add a run-ptest script.

[YOCTO #4292]

(From OE-Core rev: 364cad5d8eecfec74a7be8cf93e75cd63031101f)

Signed-off-by: Jesse Zhang <sen.zhang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Jesse Zhang
2013-05-21 10:43:04 +08:00
committed by Richard Purdie
parent ab31f43071
commit 73b752897d
4 changed files with 52 additions and 37 deletions

View File

@@ -0,0 +1,2 @@
#!/bin/sh
cd t && ./TEST | sed -u -e 's/^\([^. \t]*\)\.\.\.\+ok/PASS: \1/' -e 's/^\([^. \t]*\)\.\.\.\+skipped/SKIP: \1/' -e 's/^\([^. \t]*\)\.\.\.\+\(.*\)/FAIL: \1\n\2/'

View File

@@ -0,0 +1,49 @@
inherit ptest
SRC_URI += "file://run-ptest \
"
do_install_ptest () {
mkdir -p ${D}${PTEST_PATH}
cp -pv TestInit.pm MANIFEST config.sh ${D}${PTEST_PATH}/
tar -cf - t/ | ( cd ${D}${PTEST_PATH} && tar -xf - )
ln -sf ${bindir}/perl ${D}${PTEST_PATH}/t/
ln -sf ${libdir}/perl/${PV} ${D}${PTEST_PATH}/lib
for dir in `find ext/ dist/ cpan/ -maxdepth 2 -type d -name t ` ; do
tar -cf - $dir | ( cd ${D}${PTEST_PATH} && tar -xf - )
done
for file in `find ext dist cpan -name \*.t -o -name \test.pl`; do
tar -cf - $file | ( cd ${D}${PTEST_PATH} && tar -xf - )
done
# Tweaks to make tests pass
cp -pv lib/unicore/TestProp.pl ${D}${libdir}/perl/${PV}/unicore/
# Put all *.t files from the lib dir in the ptest package
pushd lib
for file in `find -name \*.t`; do
tar -cf - $file | ( cd ${D}${libdir}/perl/${PV} && tar -xf - )
done
popd
mkdir -p ${D}${libdir}/perl/${PV}/XS
cp -pv lib/XS/APItest.pm ${D}${libdir}/perl/${PV}/XS/
cp -pv lib/XS/Typemap.pm ${D}${libdir}/perl/${PV}/XS/
mkdir -p ${D}${libdir}/perl/${PV}/auto/XS/APItest
cp -pv lib/auto/XS/APItest/APItest.so ${D}${libdir}/perl/${PV}/auto/XS/APItest/
mkdir -p ${D}${libdir}/perl/${PV}/auto/XS/Typemap
cp -pv lib/auto/XS/Typemap/Typemap.so ${D}${libdir}/perl/${PV}/auto/XS/Typemap/
cp -pv cpan/Digest-MD5/README ${D}${PTEST_PATH}/cpan/Digest-MD5/
cp -pv cpan/Digest-MD5/MD5.xs ${D}${PTEST_PATH}/cpan/Digest-MD5/
}
python populate_packages_prepend() {
# Put all *.t files from the lib dir in the ptest package
# do_split_packages requires a pair of () in the regex, but we have nothing
# to match, so use an empty pair.
do_split_packages(d, d.expand('${libdir}/perl/${PV}'), '.*\.t()',
'${PN}-ptest%s', '%s', recursive=True, match_path=True)
}
RDEPENDS_${PN}-ptest += "${PN}-modules ${PN}-doc ${PN}-misc"

View File

@@ -1,36 +0,0 @@
PACKAGES += "perl-tests"
PERL_TEST_DIR = "/opt/perl-tests"
do_install_append () {
mkdir -p ${D}${PERL_TEST_DIR}
cp -pv TestInit.pm MANIFEST config.sh ${D}${PERL_TEST_DIR}/
tar -cf - t/ | ( cd ${D}${PERL_TEST_DIR} && tar -xf - )
ln -sf ${bindir}/perl ${D}${PERL_TEST_DIR}/t/
ln -sf ${libdir}/perl/${PV} ${D}${PERL_TEST_DIR}/lib
for dir in `find ext/ dist/ cpan/ -maxdepth 2 -type d -name t ` ; do
tar -cf - $dir | ( cd ${D}${PERL_TEST_DIR} && tar -xf - )
done
for file in `find ext dist cpan -name \*.t -o -name \test.pl`; do
tar -cf - $file | ( cd ${D}${PERL_TEST_DIR} && tar -xf - )
done
# Tweaks to make tests pass
cp -pv lib/unicore/TestProp.pl ${D}${libdir}/perl/${PV}/unicore/
cp -pv lib/AnyDBM_File.t ${D}${libdir}/perl/${PV}/
mkdir -p ${D}${libdir}/perl/${PV}/XS
cp -pv lib/XS/APItest.pm ${D}${libdir}/perl/${PV}/XS/
cp -pv lib/XS/Typemap.pm ${D}${libdir}/perl/${PV}/XS/
mkdir -p ${D}${libdir}/perl/${PV}/auto/XS/APItest
cp -pv lib/auto/XS/APItest/APItest.so ${D}${libdir}/perl/${PV}/auto/XS/APItest/
mkdir -p ${D}${libdir}/perl/${PV}/auto/XS/Typemap
cp -pv lib/auto/XS/Typemap/Typemap.so ${D}${libdir}/perl/${PV}/auto/XS/Typemap/
cp -pv cpan/Digest-MD5/README ${D}${PERL_TEST_DIR}/cpan/Digest-MD5/
cp -pv cpan/Digest-MD5/MD5.xs ${D}${PERL_TEST_DIR}/cpan/Digest-MD5/
}
FILES_${PN}-tests = "${PERL_TEST_DIR} \
${libdir}/perl/${PV}/AnyDBM_File.t"
RDEPENDS_${PN}-tests = "${PN}-modules ${PN}-doc ${PN}-misc"

View File

@@ -324,7 +324,7 @@ RPROVIDES_perl-lib = "perl-lib"
require perl-rdepends_${PV}.inc
require perl-rprovides.inc
require perl-rprovides_${PV}.inc
include perl-tests.inc
require perl-ptest.inc
SSTATE_SCAN_FILES += "*.pm *.pod *.h *.pl *.sh"