Ryan, Couple comments, but nothing critical:
1. Do you want to split it into 2 patches - add vebatim copy of ltp from upstream w/o any modifications, then add ltp-ddt on top of it separately? 2. Do you want to keep the old versions around? Is it an "add" or "upgrade"? On Mon, Apr 10, 2023 at 10:42:42AM -0500, Ryan Eatmon via lists.yoctoproject.org wrote: > The internal testing team would like to move to this version as the > basis for our internal ltp-ddt. So we need to capture the recipe > settings for this version from oe-core master and provide a new version > for us to overload. > > Signed-off-by: Ryan Eatmon <[email protected]> > --- > .../ltp-ddt/ltp-ddt_20230127.bb | 44 ++++++ > ...002-Remove-OOM-tests-from-runtest-mm.patch | 35 +++++ > .../ltp/ltp/disable_hanging_tests.patch | 27 ++++ > .../recipes-extended/ltp/ltp_20230127.bb | 140 ++++++++++++++++++ > 4 files changed, 246 insertions(+) > create mode 100644 > meta-arago-extras/recipes-devtools/ltp-ddt/ltp-ddt_20230127.bb > create mode 100644 > meta-arago-extras/recipes-extended/ltp/ltp/0002-Remove-OOM-tests-from-runtest-mm.patch > create mode 100644 > meta-arago-extras/recipes-extended/ltp/ltp/disable_hanging_tests.patch > create mode 100644 meta-arago-extras/recipes-extended/ltp/ltp_20230127.bb > > diff --git a/meta-arago-extras/recipes-devtools/ltp-ddt/ltp-ddt_20230127.bb > b/meta-arago-extras/recipes-devtools/ltp-ddt/ltp-ddt_20230127.bb > new file mode 100644 > index 00000000..b7c695f3 > --- /dev/null > +++ b/meta-arago-extras/recipes-devtools/ltp-ddt/ltp-ddt_20230127.bb > @@ -0,0 +1,44 @@ > +FILESEXTRAPATHS:prepend := "${COREBASE}/meta/recipes-extended/ltp/ltp:" > +FILESEXTRAPATHS:prepend := > "${ARAGOBASE}/meta-arago-extras/recipes-extended/ltp/ltp:" > + > +require recipes-extended/ltp/ltp_${PV}.bb > + > +SUMMARY = "Embedded Linux Device Driver Tests based on Linux Test Project" > +HOMEPAGE = "https://git.ti.com/cgit/test-automation/ltp-ddt/" > + > +PROVIDES += "ltp" > + > +DEPENDS += "alsa-lib" > + > +PE = "1" > +PR = "r7" > +PV:append = "+git${SRCPV}" > + > +SRCREV = "7f2fc4b7c972f2f188836c739a7175fad2f2b288" > +BRANCH ?= "master" > + > +SRC_URI:remove = > "git://github.com/linux-test-project/ltp.git;branch=master;protocol=https" > +SRC_URI:prepend = > "git://git.ti.com/git/test-automation/ltp-ddt.git;protocol=https;branch=${BRANCH} > " > + > +export prefix = "/opt/ltp" > +export exec_prefix = "/opt/ltp" > + > +EXTRA_OEMAKE:append = " \ > + KERNEL_USR_INC=${STAGING_INCDIR} \ > + ALSA_INCPATH=${STAGING_INCDIR} \ > + ALSA_LIBPATH=${STAGING_LIBDIR} \ > +" > + > +RDEPENDS:${PN} += "\ > + acl \ > + at \ > + pm-qa \ > + serialcheck \ > + memtester \ > +" > + > +do_install:prepend() { > + # Upstream ltp recipe wants to remove this test case in do_install > + install -d ${D}${prefix}/runtest/ > + echo "memcg_stress" >> ${D}${prefix}/runtest/controllers > +} > diff --git > a/meta-arago-extras/recipes-extended/ltp/ltp/0002-Remove-OOM-tests-from-runtest-mm.patch > > b/meta-arago-extras/recipes-extended/ltp/ltp/0002-Remove-OOM-tests-from-runtest-mm.patch > new file mode 100644 > index 00000000..6d945700 > --- /dev/null > +++ > b/meta-arago-extras/recipes-extended/ltp/ltp/0002-Remove-OOM-tests-from-runtest-mm.patch > @@ -0,0 +1,35 @@ > +From e87c2ad1e16cdbd62ba71b2ace3270503decaa56 Mon Sep 17 00:00:00 2001 > +From: "Mingde (Matthew) Zeng" <[email protected]> > +Date: Wed, 29 Jul 2020 08:47:09 -0400 > +Subject: [PATCH] Remove OOM tests from runtest/mm > + > +Disable OOM tests, as they might cause oeqa ssh connection lost > + > +Upstream-Status: Inappropriate [oe-core specific] > +Signed-off-by: Mingde (Matthew) Zeng <[email protected]> > +[ pvorel: rebased for 20210927 ] > +Signed-off-by: Petr Vorel <[email protected]> > +--- > + runtest/mm | 6 ------ > + 1 file changed, 6 deletions(-) > + > +diff --git a/runtest/mm b/runtest/mm > +index 6537666a9..e5a091a5a 100644 > +--- a/runtest/mm > ++++ b/runtest/mm > +@@ -73,12 +73,6 @@ ksm06_2 ksm06 -n 8000 > + > + cpuset01 cpuset01 > + > +-oom01 oom01 > +-oom02 oom02 > +-oom03 oom03 > +-oom04 oom04 > +-oom05 oom05 > +- > + swapping01 swapping01 -i 5 > + > + thp01 thp01 -I 120 > +-- > +2.33.0 > + > diff --git > a/meta-arago-extras/recipes-extended/ltp/ltp/disable_hanging_tests.patch > b/meta-arago-extras/recipes-extended/ltp/ltp/disable_hanging_tests.patch > new file mode 100644 > index 00000000..f25a692d > --- /dev/null > +++ b/meta-arago-extras/recipes-extended/ltp/ltp/disable_hanging_tests.patch > @@ -0,0 +1,27 @@ > +This patch disables tests which we've found "hang" on our infrastructure. > + > +proc01: > +https://autobuilder.yoctoproject.org/typhoon/#/builders/96/builds/1748 (arm) > +https://autobuilder.yoctoproject.org/typhoon/#/builders/96/builds/1781 (arm) > +https://autobuilder.yoctoproject.org/typhoon/#/builders/96/builds/2782 (arm) > +(was trying to read /proc/kmsg, looks like a horrible test anyway) > + > +Upstream-Status: Inappropriate [OE Configuration] > +Signed-off-by: Richard Purdie <[email protected]> > + > +Index: git/runtest/fs > +=================================================================== > +--- git.orig/runtest/fs > ++++ git/runtest/fs > +@@ -64,11 +64,6 @@ writetest01 writetest > + #Also run the fs_di (Data Integrity tests) > + fs_di fs_di -d $TMPDIR > + > +-# Read every file in /proc. Not likely to crash, but does enough > +-# to disturb the kernel. A good kernel latency killer too. > +-# Was not sure why it should reside in runtest/crashme and won't get tested > ever > +-proc01 proc01 -m 128 > +- > + read_all_dev read_all -d /dev -p -q -r 3 > + read_all_proc read_all -d /proc -q -r 3 > + read_all_sys read_all -d /sys -q -r 3 > diff --git a/meta-arago-extras/recipes-extended/ltp/ltp_20230127.bb > b/meta-arago-extras/recipes-extended/ltp/ltp_20230127.bb > new file mode 100644 > index 00000000..570401ea > --- /dev/null > +++ b/meta-arago-extras/recipes-extended/ltp/ltp_20230127.bb > @@ -0,0 +1,140 @@ > +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 = "https://linux-test-project.github.io/" > +SECTION = "console/utils" > +LICENSE = "GPL-2.0-only & GPL-2.0-or-later & LGPL-2.0-or-later & > LGPL-2.1-or-later & BSD-2-Clause" > +LIC_FILES_CHKSUM = "\ > + file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ > + > file://testcases/open_posix_testsuite/COPYING;md5=48b1c5ec633e3e30ec2cf884ae699947 > \ > + > file://testcases/network/can/filter-tests/COPYING;md5=5b155ea7d7f86eae8e8832955d8b70bc > \ > +" > + > +DEPENDS = "attr libaio libcap acl openssl zip-native" > +DEPENDS:append:libc-musl = " fts " > +EXTRA_OEMAKE:append:libc-musl = " LIBC=musl " > +EXTRA_OECONF:append:libc-musl = " LIBS=-lfts " > + > +# since ltp contains x86-64 assembler which uses the frame-pointer register, > +# set -fomit-frame-pointer x86-64 to handle cases where optimisation > +# is set to -O0 or frame pointers have been enabled by > -fno-omit-frame-pointer > +# earlier in CFLAGS, etc. > +CFLAGS:append:x86-64 = " -fomit-frame-pointer" > +TUNE_CCARGS:remove:x86 = "-mfpmath=sse" > +TUNE_CCARGS:remove:x86-64 = "-mfpmath=sse" > + > +CFLAGS:append:powerpc64 = " -D__SANE_USERSPACE_TYPES__" > +CFLAGS:append:mipsarchn64 = " -D__SANE_USERSPACE_TYPES__" > +SRCREV = "dd2d61ac1a1e09797a6165f478abd4a9f4f43035" > + > +SRC_URI = > "git://github.com/linux-test-project/ltp.git;branch=master;protocol=https \ > + file://0002-Remove-OOM-tests-from-runtest-mm.patch \ > + file://disable_hanging_tests.patch \ > + " > + > +S = "${WORKDIR}/git" > + > +inherit autotools-brokensep pkgconfig > + > +# Version 20220527 added KVM test infrastructure which currently fails to > build with gold due to > +# SORT_NONE in linker script which isn't supported by gold: > +# https://sourceware.org/bugzilla/show_bug.cgi?id=18097 > +# > https://github.com/linux-test-project/ltp/commit/3fce2064b54843218d085aae326c8f7ecf3a8c41#diff-39268f0855c634ca48c8993fcd2c95b12a65b79e8d9fa5ccd6b0f5a8785c0dd6R36 > +LDFLAGS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' > -fuse-ld=bfd', '', d)}" > + > +# After 0002-kvm-use-LD-instead-of-hardcoding-ld.patch > +# > https://github.com/linux-test-project/ltp/commit/f94e0ef3b7280f886384703ef9019aaf2f2dfebb > +# it fails with gold also a bit later when trying to use *-payload.bin > +# http://errors.yoctoproject.org/Errors/Details/663094/ > +# work around this by forcing .bfd linked in LD when ld-is-gold is in > DISTRO_FEATURES > +KVM_LD = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', > '${HOST_PREFIX}ld.bfd${TOOLCHAIN_OPTIONS} ${HOST_LD_ARCH}', '${LD}', d)}" > + > +TARGET_CC_ARCH += "${LDFLAGS}" > + > +export prefix = "/opt/${PN}" > +export exec_prefix = "/opt/${PN}" > + > +PACKAGECONFIG[numa] = "--with-numa, --without-numa, numactl," > +EXTRA_AUTORECONF += "-I ${S}/testcases/realtime/m4" > +EXTRA_OECONF = " --with-realtime-testsuite --with-open-posix-testsuite " > +# ltp network/rpc test cases ftbfs when libtirpc is found > +EXTRA_OECONF += " --without-tirpc " > + > +do_compile() { > + oe_runmake HOSTCC="${CC_FOR_BUILD}" HOST_CFLAGS="${CFLAGS_FOR_BUILD}" > HOST_LDFLAGS="${LDFLAGS_FOR_BUILD}" KVM_LD="${KVM_LD}" > +} > + > +do_install(){ > + install -d ${D}${prefix}/ > + oe_runmake DESTDIR=${D} SKIP_IDCHECK=1 install include-install > + > + # fixup not deploy STPfailure_report.pl to avoid confusing about it > fails to run > + # as it lacks dependency on some perl moudle such as LWP::Simple > + # And this script previously works as a tool for analyzing failures from > LTP > + # runs on the OSDL's Scaleable Test Platform (STP) and it mainly accesses > + # http://khack.osdl.org to retrieve ltp test results run on > + # OSDL's Scaleable Test Platform, but now http://khack.osdl.org > unaccessible > + rm -rf ${D}${prefix}/bin/STPfailure_report.pl > + > + # The controllers memcg_stree test seems to cause us hangs and takes 900s > + # (maybe we expect more regular output?), anyhow, skip it > + sed -e '/^memcg_stress/d' -i ${D}${prefix}/runtest/controllers > +} > + > +RDEPENDS:${PN} = "\ > + attr \ > + bash \ > + bc \ > + coreutils \ > + cpio \ > + cronie \ > + curl \ > + e2fsprogs \ > + e2fsprogs-mke2fs \ > + expect \ > + file \ > + gawk \ > + gdb \ > + gzip \ > + iproute2 \ > + ldd \ > + libaio \ > + logrotate \ > + net-tools \ > + perl \ > + python3-core \ > + procps \ > + quota \ > + unzip \ > + util-linux \ > + which \ > + tar \ > +" > + > +FILES:${PN} += "${prefix}/* ${prefix}/runtest/* ${prefix}/scenario_groups/* > ${prefix}/testcases/bin/* ${prefix}/testcases/bin/*/bin/* > ${prefix}/testscripts/* ${prefix}/testcases/open_posix_testsuite/* > ${prefix}/testcases/open_posix_testsuite/conformance/* > ${prefix}/testcases/open_posix_testsuite/Documentation/* > ${prefix}/testcases/open_posix_testsuite/functional/* > ${prefix}/testcases/open_posix_testsuite/include/* > ${prefix}/testcases/open_posix_testsuite/scripts/* > ${prefix}/testcases/open_posix_testsuite/stress/* > ${prefix}/testcases/open_posix_testsuite/tools/* > ${prefix}/testcases/data/nm01/lib.a ${prefix}/lib/libmem.a" > + > +# Avoid stripping some generated binaries otherwise some of the ltp tests > such as ldd01 & nm01 fail > +INHIBIT_PACKAGE_STRIP_FILES = "${prefix}/testcases/bin/nm01 > ${prefix}/testcases/bin/ldd01" > +INSANE_SKIP:${PN} += "already-stripped staticdev" > + > +remove_broken_musl_sources() { > + [ "${TCLIBC}" = "musl" ] || return 0 > + > + cd ${S} > + echo "WARNING: remove unsupported tests (until they're fixed)" > + > + # sync with upstream > + # https://github.com/linux-test-project/ltp/blob/master/ci/alpine.sh#L33 > + rm -rfv \ > + testcases/kernel/syscalls/fmtmsg/fmtmsg01.c \ > + testcases/kernel/syscalls/getcontext/getcontext01.c \ > + > testcases/kernel/syscalls/rt_tgsigqueueinfo/rt_tgsigqueueinfo01.c \ > + testcases/kernel/syscalls/timer_create/timer_create01.c \ > + testcases/kernel/syscalls/timer_create/timer_create03.c > +} > +do_patch[postfuncs] += "remove_broken_musl_sources" > + > +# Avoid file dependency scans, as LTP checks for things that may or may not > +# exist on the running system. For instance it has specific checks for > +# csh and ksh which are not typically part of OpenEmbedded systems (but > +# can be added via additional layers.) > +SKIP_FILEDEPS:${PN} = '1' > -- > 2.17.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#14310): https://lists.yoctoproject.org/g/meta-arago/message/14310 Mute This Topic: https://lists.yoctoproject.org/mt/98178451/21656 Group Owner: [email protected] Unsubscribe: https://lists.yoctoproject.org/g/meta-arago/leave/10763299/21656/89520264/xyzzy [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
