ltp: Add recipe from OE
cover ltp: Add recipe from OE
The pull request is to address [YOCTO #1568] - "Add recipe for ltp/posix tests and automate test". ltp is ported from OE and updated to latest version(20110915). Testcases are installed to ${D}/opt/ltp and POISX test suite is also copied into ${D}/opt/ltp/testcases folder. Include ltp to testapps list.
Note that some cases are removed from ltp since they depend on expect. Currently there is no expect recipe in OE and we will add it for enhancement next.
The following changes since commit e57935dc18d576feb1003b48e7cdc72a444131b8:
Revert "classes/buildhistory: add new output history collection class" (2011-12-01 23:00:52 +0000)
are available in the git repository at:
git://git.pokylinux.org/poky-contrib jxu49/oe-contrib
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=jxu49/oe-contrib
Jiajun Xu (3):
ltp: Add recipe from OE
distro_tracking_fields: add information for ltp
task-core-tools: add ltp to testapps list
.../conf/distro/include/distro_tracking_fields.inc | 8 +++ meta/recipes-core/tasks/task-core-tools.bb | 3 +- meta/recipes-extended/ltp/ltp_20110915.bb | 67 ++++++++++++++++++++ 3 files changed, 77 insertions(+), 1 deletions(-) create mode 100644 meta/recipes-extended/ltp/ltp_20110915.bb
PATCH 1/3 ltp: Add recipe from OE
Port ltp recipe from OE and upgraged to latest version(20110915). Install ltp into ${D}/opt/ltp and POSIX test suite is also copied into ${D}/opt/ltp/testcases.
TODO: Some cases are removed since they depend on command 'expect'. It is not in Poky or OE and we will add it for enhancement next.
--- meta/recipes-extended/ltp/ltp_20110915.bb | 67 +++++++++++++++++++++++++++++ 1 files changed, 67 insertions(+), 0 deletions(-) create mode 100644 meta/recipes-extended/ltp/ltp_20110915.bb
meta/recipes-extended/ltp/ltp_20110915.bb new file +67 -0
@@ -0,0 +1,67 @@ +SUMMARY = "Linux Test Project" +DESCRIPTION = "The Linux Test Project is a joint project with SGI, IBM, OSDL, and Bull with a goal to deliver test suites to the open source community that validate the reliability, robustness, and stability of Linux. The Linux Test Project is a collection of tools for testing the Linux kernel and related features." +HOMEPAGE = "http://ltp.sourceforge.net" +SECTION = "console/utils" + +PR = "r0" + +LICENSE = "GPLv2 & GPLv2+ & LGPLv2+ & LGPLv2.1+ & BSD-2-Clause" +SRC_URI = "${SOURCEFORGE_MIRROR}/ltp/ltp-full-${PV}.bz2" + +LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \ + file://testcases/kernel/mce-test/COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \ + file://testcases/kernel/controllers/freezer/COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \ + file://testcases/kernel/controllers/freezer/run_freezer.sh;startline=5;endline=17;md5=aeac3f7691caa2e76fd5a732fbd6510d \ + file://testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/COPYING;md5=c46082167a314d785d012a244748d803 \ + file://testcases/kernel/hotplug/memory_hotplug/COPYING;md5=e04a2e542b2b8629bf9cd2ba29b0fe41 \ + file://testcases/kernel/hotplug/cpu_hotplug/COPYING;md5=e04a2e542b2b8629bf9cd2ba29b0fe41 \ + file://testcases/open_posix_testsuite/COPYING;md5=216e43b72efbe4ed9017cc19c4c68b01 \ + file://tools/netpipe-2.4/COPYING;md5=18810669f13b87348459e611d31ab760 \ + file://tools/netpipe-2.4-ipv6/COPYING;md5=18810669f13b87348459e611d31ab760 \ + file://tools/top-LTP/proc/COPYING;md5=6e29c688d912da12b66b73e32b03d812 \ + file://tools/pounder21/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ + file://utils/benchmark/kernbench-0.42/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ + " + +SRC_URI[md5sum] = "582fb78d7bf78a624a4387f29327d166" +SRC_URI[sha256sum] = "013f7f2f6fdf46b7d73216533c3d4c2d91f0a2cec522bf026f7c8920ede83d2c" + +export prefix = "/opt/ltp" +export exec_prefix = "/opt/ltp" + +inherit autotools + +FILES_${PN}-dbg += "/opt/ltp/runtest/.debug" +FILES_${PN}-dbg += "/opt/ltp/testcases/bin/.debug" +FILES_${PN}-dbg += "/opt/ltp/testcases/bin/*/bin/.debug" +FILES_${PN}-dbg += "/opt/ltp/testcases/bin/*/test/.debug" +FILES_${PN}-dbg += "/opt/ltp/scenario_groups/.debug" +FILES_${PN}-dbg += "/opt/ltp/testscripts/.debug" +FILES_${PN}-dbg += "/opt/ltp/testscripts/open_posix_testsuite/.debug" + +FILES_${PN} += "/opt/ltp/* /opt/ltp/runtest/* /opt/ltp/scenario_groups/* /opt/ltp/testcases/bin/* /opt/ltp/testcases/bin/*/bin/* /opt/ltp/testscripts/* /opt/ltp/testcases/open_posix_testsuite/* /opt/ltp/testcases/open_posix_testsuite/conformance/* /opt/ltp/testcases/open_posix_testsuite/Documentation/* /opt/ltp/testcases/open_posix_testsuite/functional/* /opt/ltp/testcases/open_posix_testsuite/include/* /opt/ltp/testcases/open_posix_testsuite/scripts/* /opt/ltp/testcases/open_posix_testsuite/stress/* /opt/ltp/testcases/open_posix_testsuite/tools/*" + +TARGET_CC_ARCH += "${LDFLAGS}" + +do_unpack_append() { + bb.build.exec_func('do_extract_tarball', d) +} + +do_extract_tarball() { + if test -f ${WORKDIR}/ltp-full-${PV} ; then + tar x --no-same-owner -f ${WORKDIR}/ltp-full-${PV} + mv ${WORKDIR}/ltp-full-${PV} ${WORKDIR}/ltp-${PV} + fi +} + +do_install(){ + install -d ${D}/opt/ltp/ + oe_runmake DESTDIR=${D} SKIP_IDCHECK=1 install + + # Copy POSIX test suite into ${D}/opt/ltp/testcases by manual + cp -r testcases/open_posix_testsuite ${D}/opt/ltp/testcases + + # We need to remove all scripts which depend on /usr/bin/expect, since expect is not supported in poky + # We will add expect for enhancement in future + find ${D} -type f -print | xargs grep "\!.*\/usr\/bin\/expect" | awk -F":" '{print $1}' | xargs rm -f +}
Signature · 1 line
1.7.1
PATCH 2/3 distro_tracking_fields: add information for ltp
Add information for recipe ltp, which is ported from OE.
--- .../conf/distro/include/distro_tracking_fields.inc | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-)
meta/conf/distro/include/distro_tracking_fields.inc +8 -0
@@ -6092,6 +6092,14 @@ RECIPE_MANUAL_CHECK_DATE_pn-libiconv = "Nov 22, 2011" DISTRO_PN_ALIAS_pn-libiconv = "Fedora=mingw-libiconv Opensuse=cross-mingw-libiconv" RECIPE_MAINTAINER_pn-libiconv = "Saul Wold <[email protected]>" +RECIPE_STATUS_pn-ltp = "green" +RECIPE_LATEST_VERSION_pn-ltp = "20110915" +RECIPE_LATEST_RELEASE_DATE_pn-ltp = "Sep 15, 2011" +RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-ltp = "3 months" +RECIPE_NO_OF_PATCHES_pn-ltp = "0" +RECIPE_LAST_UPDATE_pn-ltp = "Dec 2, 2011" +RECIPE_MAINTAINER_pn-ltp = "Jiajun Xu <[email protected]>" + DISTRO_PN_ALIAS_pn-qt4-native = "Fedora=qt4 Debian=qt4-dev-tools" DISTRO_PN_ALIAS_pn-update-alternatives-dpkg = "Opensuse=update-alternatives Mandriva=update-alternatives" RECIPE_MAINTAINER_pn-update-alternatives-dpkg = "Dongxiao Xu <[email protected]>"
Signature · 1 line
1.7.1
PATCH 3/3 task-core-tools: add ltp to testapps list
In reply to Jiajun Xu--- meta/recipes-core/tasks/task-core-tools.bb | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)
meta/recipes-core/tasks/task-core-tools.bb +2 -1
@@ -6,7 +6,7 @@ DESCRIPTION = "Tools tasks for OE-Core" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \ file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" -PR = "r13" +PR = "r14" PACKAGES = "\ task-core-tools-debug \
@@ -98,4 +98,5 @@ RDEPENDS_task-core-tools-testapps = "\ xprop \ xvideo-tests \ clutter-box2d \ + ltp \ "
Signature · 1 line
1.7.1
Quoted 19 lines · Jiajun Xu
Port ltp recipe from OE and upgraged to latest version(20110915). Install ltp into ${D}/opt/ltp and POSIX test suite is also copied into ${D}/opt/ltp/testcases.
TODO: Some cases are removed since they depend on command 'expect'. It is not in Poky or OE and we will add it for enhancement next.
Signed-off-by Jiajun Xu<[email protected]>--- meta/recipes-extended/ltp/ltp_20110915.bb | 67 +++++++++++++++++++++++++++++ 1 files changed, 67 insertions(+), 0 deletions(-)create mode 100644 meta/recipes-extended/ltp/ltp_20110915.bb
meta/recipes-extended/ltp/ltp_20110915.bb new file +0
-0
meta/recipes-extended/ltp/ltp_20110915.bb line 10
Quoted 10 lines
meta/recipes-extended/ltp/ltp_20110915.bb new file +10
-0@@ -0,0 +1,67 @@ +SUMMARY = "Linux Test Project" +DESCRIPTION = "The Linux Test Project is a joint project with SGI, IBM, OSDL, and Bull with a goal to deliver test suites to the open source community that validate the reliability, robustness, and stability of Linux. The Linux Test Project is a collection of tools for testing the Linux kernel and related features." +HOMEPAGE = "http://ltp.sourceforge.net" +SECTION = "console/utils" + +PR = "r0" + +LICENSE = "GPLv2& GPLv2+& LGPLv2+& LGPLv2.1+& BSD-2-Clause" +SRC_URI = "${SOURCEFORGE_MIRROR}/ltp/ltp-full-${PV}.bz2" +
SRC_URI should go below the LIC_FILES_CHKSUM.
Quoted 36 lines
meta/recipes-extended/ltp/ltp_20110915.bb new file +36
-0+LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \ + file://testcases/kernel/mce-test/COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \ + file://testcases/kernel/controllers/freezer/COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \ + file://testcases/kernel/controllers/freezer/run_freezer.sh;startline=5;endline=17;md5=aeac3f7691caa2e76fd5a732fbd6510d \ + file://testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/COPYING;md5=c46082167a314d785d012a244748d803 \ + file://testcases/kernel/hotplug/memory_hotplug/COPYING;md5=e04a2e542b2b8629bf9cd2ba29b0fe41 \ + file://testcases/kernel/hotplug/cpu_hotplug/COPYING;md5=e04a2e542b2b8629bf9cd2ba29b0fe41 \ + file://testcases/open_posix_testsuite/COPYING;md5=216e43b72efbe4ed9017cc19c4c68b01 \ + file://tools/netpipe-2.4/COPYING;md5=18810669f13b87348459e611d31ab760 \ + file://tools/netpipe-2.4-ipv6/COPYING;md5=18810669f13b87348459e611d31ab760 \ + file://tools/top-LTP/proc/COPYING;md5=6e29c688d912da12b66b73e32b03d812 \ + file://tools/pounder21/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ + file://utils/benchmark/kernbench-0.42/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ + " + +SRC_URI[md5sum] = "582fb78d7bf78a624a4387f29327d166" +SRC_URI[sha256sum] = "013f7f2f6fdf46b7d73216533c3d4c2d91f0a2cec522bf026f7c8920ede83d2c" + +export prefix = "/opt/ltp" +export exec_prefix = "/opt/ltp" + +inherit autotools + +FILES_${PN}-dbg += "/opt/ltp/runtest/.debug" +FILES_${PN}-dbg += "/opt/ltp/testcases/bin/.debug" +FILES_${PN}-dbg += "/opt/ltp/testcases/bin/*/bin/.debug" +FILES_${PN}-dbg += "/opt/ltp/testcases/bin/*/test/.debug" +FILES_${PN}-dbg += "/opt/ltp/scenario_groups/.debug" +FILES_${PN}-dbg += "/opt/ltp/testscripts/.debug" +FILES_${PN}-dbg += "/opt/ltp/testscripts/open_posix_testsuite/.debug" + +FILES_${PN} += "/opt/ltp/* /opt/ltp/runtest/* /opt/ltp/scenario_groups/* /opt/ltp/testcases/bin/* /opt/ltp/testcases/bin/*/bin/* /opt/ltp/testscripts/* /opt/ltp/testcases/open_posix_testsuite/* /opt/ltp/testcases/open_posix_testsuite/conformance/* /opt/ltp/testcases/open_posix_testsuite/Documentation/* /opt/ltp/testcases/open_posix_testsuite/functional/* /opt/ltp/testcases/open_posix_testsuite/include/* /opt/ltp/testcases/open_posix_testsuite/scripts/* /opt/ltp/testcases/open_posix_testsuite/stress/* /opt/ltp/testcases/open_posix_testsuite/tools/*" + +TARGET_CC_ARCH += "${LDFLAGS}" + +do_unpack_append() {
meta/recipes-extended/ltp/ltp_20110915.bb line 56
Quoted 10 lines
meta/recipes-extended/ltp/ltp_20110915.bb new file +10
-0+ bb.build.exec_func('do_extract_tarball', d) +} + +do_extract_tarball() { + if test -f ${WORKDIR}/ltp-full-${PV} ; then + tar x --no-same-owner -f ${WORKDIR}/ltp-full-${PV} + mv ${WORKDIR}/ltp-full-${PV} ${WORKDIR}/ltp-${PV} + fi +} +
The "mv" seems to cause a problem. Is there a reason you do this instead of just setting "S = ${WORKDIR}/ltp-full-${PV} if that's what the tarball normally extracts to?
ERROR: Function 'do_extract_tarball' failed (see /srv/home/swold/yocto-autobuilder/yocto-slave/nightly-x86/build/build/tmp/work/i586-poky-linux/ltp-20110915-r0/temp/log.do_unpack.714 for further information)
ERROR: Logfile of failure stored in: /srv/home/swold/yocto-autobuilder/yocto-slave/nightly-x86/build/build/tmp/work/i586-poky-linux/ltp-20110915-r0/temp/log.do_unpack.714 Log data follows:
| NOTE: Unpacking /srv/home/swold/downloads/ltp-full-20110915.bz2 to /srv/home/swold/yocto-autobuilder/yocto-slave/nightly-x86/build/build/tmp/work/i586-poky-linux/ltp-20110915-r0/ | DEBUG: SITE files ['endian-little', 'bit-32', 'ix86-common', 'common-linux', 'common-glibc', 'i586-linux', 'common'] | ERROR: Function 'do_extract_tarball' failed (see /srv/home/swold/yocto-autobuilder/yocto-slave/nightly-x86/build/build/tmp/work/i586-poky-linux/ltp-20110915-r0/temp/log.do_unpack.714 for further information) | mv: cannot overwrite directory `/srv/home/swold/yocto-autobuilder/yocto-slave/nightly-x86/build/build/tmp/work/i586-poky-linux/ltp-20110915-r0/ltp-20110915/ltp-full-20110915' with non-directory
NOTE: package ltp-20110915-r0: task do_unpack: Failed
ERROR: Task 2303 (/srv/home/swold/yocto-autobuilder/yocto-slave/nightly-x86/build/meta/recipes-extended/ltp/ltp_20110915.bb, do_unpack) failed with exit code '1'
Quoted 11 lines
meta/recipes-extended/ltp/ltp_20110915.bb new file +11
-0+do_install(){ + install -d ${D}/opt/ltp/ + oe_runmake DESTDIR=${D} SKIP_IDCHECK=1 install + + # Copy POSIX test suite into ${D}/opt/ltp/testcases by manual + cp -r testcases/open_posix_testsuite ${D}/opt/ltp/testcases + + # We need to remove all scripts which depend on /usr/bin/expect, since expect is not supported in poky + # We will add expect for enhancement in future + find ${D} -type f -print | xargs grep "\!.*\/usr\/bin\/expect" | awk -F":" '{print $1}' | xargs rm -f +}
Quoted 5 lines
The "mv" seems to cause a problem. Is there a reason you do this instead of just setting "S = ${WORKDIR}/ltp-full-${PV} if that's what the tarball normally extracts to?
Sorry for late response, Saul. If I set S to ltp-full-${PV}, do_unpack will report that ltp-full-${PV} is not a directory. It is due to that the source file for ltp is named as "ltp-full-${PV}.bz2", which in fact should be extracted by bzip2 and tar. But the unpack code in bitbake could not handle this so I have to add some extra code for it. I have modified the patch to make the unpack pass and will send out again for review.
Thanks a lot.
Quoted 18 lines
ERROR: Function '
do_extract_tarball' failed (see/srv/home/swold/yocto-autobuilder/yocto-slave/nightly-x86/build/build/tmp/w ork/i586-poky-linux/ltp-20110915-r0/temp/log.do_unpack.714 for further information) ERROR: Logfile of failure stored in:/srv/home/swold/yocto-autobuilder/yocto-slave/nightly-x86/build/build/tmp/w ork/i586-poky-linux/ltp-20110915-r0/temp/log.do_unpack.714 Log data follows: | NOTE: Unpacking/srv/home/swold/downloads/ltp-full-20110915.bz2to/srv/home/swold/yocto-autobuilder/yocto-slave/nightly-x86/build/build/tmp/w ork/i586-poky-linux/ltp-20110915-r0/ | DEBUG: SITE files ['endian-little', 'bit-32', 'ix86-common', 'common-linux', 'common-glibc', 'i586-linux', 'common'] | ERROR: Function 'do_extract_tarball' failed (see/srv/home/swold/yocto-autobuilder/yocto-slave/nightly-x86/build/build/tmp/w ork/i586-poky-linux/ltp-20110915-r0/temp/log.do_unpack.714 for further information) | mv: cannot overwrite directory
Quoted 16 lines
`/srv/home/swold/yocto-autobuilder/yocto-slave/nightly-x86/build/build
/tmp/work/i586-poky-linux/ltp-20110915-r0/ltp-20110915/ltp-full-20110915' with non-directory NOTE: package ltp-20110915-r0: taskdo_unpack: Failed
ERROR: Task 2303 (/srv/home/swold/yocto-autobuilder/yocto-slave/nightly-x86/build/meta/recipe s-extended/ltp/ltp_20110915.bb,do_unpack) failed with exit code '1'Quoted 7 lines
+do_install(){ + install -d ${D}/opt/ltp/ +
oe_runmakeDESTDIR=${D}
SKIP_IDCHECK=1 install + + # Copy POSIX test suite into
${D}/opt/ltp/testcases by manual + cp -r testcases/open_posix_testsuite
${D}/opt/ltp/testcases + + # We need to remove all scripts which depend
on/usr/bin/expect, +since expect is not supported in poky + # We will
add expect for enhancement in future + find ${D} -type f -print | xargs
grep "\!.*\/usr\/bin\/expect" | +awk -F":" '{print $1}' | xargs rm -f }
Best Regards,
Jiajun