[YOCTO #4292] Replace PERL_TEST_DIR with PTEST_PATH, and rename "tests" with "ptest" in various places. Add a run-ptest script. Also add a patch to change the output format.
Signed-off-by: Jesse Zhang <sen.zh...@windriver.com> --- .../perl/perl-5.14.3/ptest-format.patch | 69 ++++++++++++++++++++++ meta/recipes-devtools/perl/perl-5.14.3/run-ptest | 2 + meta/recipes-devtools/perl/perl-ptest.inc | 50 ++++++++++++++++ meta/recipes-devtools/perl/perl-tests.inc | 36 ----------- meta/recipes-devtools/perl/perl_5.14.3.bb | 2 +- 5 files changed, 122 insertions(+), 37 deletions(-) create mode 100644 meta/recipes-devtools/perl/perl-5.14.3/ptest-format.patch create mode 100644 meta/recipes-devtools/perl/perl-5.14.3/run-ptest create mode 100644 meta/recipes-devtools/perl/perl-ptest.inc delete mode 100644 meta/recipes-devtools/perl/perl-tests.inc diff --git a/meta/recipes-devtools/perl/perl-5.14.3/ptest-format.patch b/meta/recipes-devtools/perl/perl-5.14.3/ptest-format.patch new file mode 100644 index 0000000..3910269 --- /dev/null +++ b/meta/recipes-devtools/perl/perl-5.14.3/ptest-format.patch @@ -0,0 +1,69 @@ +Change test output to ptest format + +Change from + + testname........ok + testname........failrue + testname........skipped + +to + + PASS: testname + FAIL: testname + SKIP: testname + +Upstream-Status: Pending + +Signed-off-by: Jesse Zhang <sen.zh...@windriver.com> + +--- a/t/TEST 2013-05-15 23:12:12.705104588 -0400 ++++ b/t/TEST 2013-05-15 23:20:20.126104587 -0400 +@@ -511,7 +511,6 @@ + } + my $maxlen = 0; + foreach (@::path_to_name{@tests}) { +- s/\.\w+\z/./; + my $len = length ; + $maxlen = $len if $len > $maxlen; + } +@@ -540,12 +539,12 @@ + next; + } + } +- my $te = $::path_to_name{$test} . '.' +- x ($dotdotdot - length($::path_to_name{$test})); ++ my $testname = $::path_to_name{$test}; ++ my $te = $testname . '.' x ($dotdotdot - length($testname)); + + if ($^O ne 'VMS') { # defer printing on VMS due to piping bug +- print $te; +- $te = ''; ++ #print $te; ++ #$te = ''; + } + + (local $Valgrind_Log = "$test.valgrind-current") =~ s/^.*\///; +@@ -718,7 +717,8 @@ + } + + if (defined $failure) { +- print "${te}$failure\n"; ++ print "FAIL: $testname\n"; ++ print "$failure\n"; + $::bad_files = $::bad_files + 1; + if ($test =~ /^base/) { + die "Failed a basic test ($test) -- cannot continue.\n"; +@@ -734,11 +734,11 @@ + else { + $elapsed = ""; + } +- print "${te}ok$elapsed\n"; ++ print "PASS: $testname\n"; + $good_files = $good_files + 1; + } + else { +- print "${te}skipped\n"; ++ print "SKIP: $testname\n"; + $tested_files = $tested_files - 1; + } + } diff --git a/meta/recipes-devtools/perl/perl-5.14.3/run-ptest b/meta/recipes-devtools/perl/perl-5.14.3/run-ptest new file mode 100644 index 0000000..28935e1 --- /dev/null +++ b/meta/recipes-devtools/perl/perl-5.14.3/run-ptest @@ -0,0 +1,2 @@ +#!/bin/sh +cd t && ./TEST diff --git a/meta/recipes-devtools/perl/perl-ptest.inc b/meta/recipes-devtools/perl/perl-ptest.inc new file mode 100644 index 0000000..5d61743 --- /dev/null +++ b/meta/recipes-devtools/perl/perl-ptest.inc @@ -0,0 +1,50 @@ +inherit ptest + +SRC_URI += "file://run-ptest \ + file://ptest-format.patch \ + " + +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" diff --git a/meta/recipes-devtools/perl/perl-tests.inc b/meta/recipes-devtools/perl/perl-tests.inc deleted file mode 100644 index b97b467..0000000 --- a/meta/recipes-devtools/perl/perl-tests.inc +++ /dev/null @@ -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" diff --git a/meta/recipes-devtools/perl/perl_5.14.3.bb b/meta/recipes-devtools/perl/perl_5.14.3.bb index 72efc63..9915042 100644 --- a/meta/recipes-devtools/perl/perl_5.14.3.bb +++ b/meta/recipes-devtools/perl/perl_5.14.3.bb @@ -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" -- 1.7.11.7 _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core