Skip to contentSkip to conversation

ltp: Add recipe from OE

PATCH In review Jiajun Xu 2 participants 6 messages Dec 2, 2011 – Dec 21, 2011

lore
Share & tools
lore

Jiajun Xu

author
#0 lore raw

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
author
#1 lore raw

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
new file mode 100644
index 0000000..ff5ea47
@@ -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
author
#2 lore raw

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
index 073521f..fa15f24 100644
@@ -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
author
#3 lore raw

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
index 12d4ff9..6632b4f 100644
@@ -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
#4 lore raw
In reply to Jiajun Xu
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.

---
  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
new file mode 100644
index 0000000..ff5ea47

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
+}
author
#5 lore raw
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.bz2 to /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/w ork/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/ 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_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 }

Best Regards,
Jiajun