From 98deacdb55780232d958d9b10ce8feeebc870802 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Thu, 27 Jan 2022 11:20:02 +0100 Subject: ltp: update 20210927 -> 20220121 The ltp compliancy parser is rewritten to actually match the logs: they seem to be unstructured, test case names are not printed and the only indication of failure is appearance of FAIL[ED] somewhere. (From OE-Core rev: 52766561dbfee625c89393905a85e10d85f69c6c) Signed-off-by: Alexander Kanavin Signed-off-by: Richard Purdie --- ...arse.sh-sort-filelist-for-reproducibility.patch | 28 +++++ .../ltp/0002-lib-fix-MemAvailable-parsing.patch | 36 ------ .../0003-lapi-rtnetlink.h-Fix-include-guards.patch | 37 ------ ...ate-if_addr.h-and-reuse-it-in-rtnetlink.h.patch | 58 --------- .../ltp/0005-lapi-if_addr.h-Define-IFA_FLAGS.patch | 60 --------- meta/recipes-extended/ltp/ltp_20210927.bb | 136 -------------------- meta/recipes-extended/ltp/ltp_20220121.bb | 137 +++++++++++++++++++++ 7 files changed, 165 insertions(+), 327 deletions(-) create mode 100644 meta/recipes-extended/ltp/ltp/0001-metadata-parse.sh-sort-filelist-for-reproducibility.patch delete mode 100644 meta/recipes-extended/ltp/ltp/0002-lib-fix-MemAvailable-parsing.patch delete mode 100644 meta/recipes-extended/ltp/ltp/0003-lapi-rtnetlink.h-Fix-include-guards.patch delete mode 100644 meta/recipes-extended/ltp/ltp/0004-lapi-Create-if_addr.h-and-reuse-it-in-rtnetlink.h.patch delete mode 100644 meta/recipes-extended/ltp/ltp/0005-lapi-if_addr.h-Define-IFA_FLAGS.patch delete mode 100644 meta/recipes-extended/ltp/ltp_20210927.bb create mode 100644 meta/recipes-extended/ltp/ltp_20220121.bb (limited to 'meta/recipes-extended') diff --git a/meta/recipes-extended/ltp/ltp/0001-metadata-parse.sh-sort-filelist-for-reproducibility.patch b/meta/recipes-extended/ltp/ltp/0001-metadata-parse.sh-sort-filelist-for-reproducibility.patch new file mode 100644 index 0000000000..e8d9f212a9 --- /dev/null +++ b/meta/recipes-extended/ltp/ltp/0001-metadata-parse.sh-sort-filelist-for-reproducibility.patch @@ -0,0 +1,28 @@ +From 4aad23f208cc7725cd61bbe5aaadb9994c794cd0 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Wed, 26 Jan 2022 20:58:46 +0100 +Subject: [PATCH] metadata/parse.sh: sort filelist for reproducibility + +find does not guarantee the order of the files. + +Upstream-Status: Submitted [https://github.com/linux-test-project/ltp/pull/907] +Signed-off-by: Alexander Kanavin +--- + metadata/parse.sh | 2 +- + +diff --git a/metadata/parse.sh b/metadata/parse.sh +index b43d024c68..1811665bfe 100755 +--- a/metadata/parse.sh ++++ b/metadata/parse.sh +@@ -29,7 +29,7 @@ echo ' "tests": {' + + first=1 + +-for test in `find testcases/ -name '*.c'`; do ++for test in `find testcases/ -name '*.c'|sort`; do + a=$($top_builddir/metadata/metaparse -Iinclude -Itestcases/kernel/syscalls/utils/ "$test") + if [ -n "$a" ]; then + if [ -z "$first" ]; then +-- +2.20.1 + diff --git a/meta/recipes-extended/ltp/ltp/0002-lib-fix-MemAvailable-parsing.patch b/meta/recipes-extended/ltp/ltp/0002-lib-fix-MemAvailable-parsing.patch deleted file mode 100644 index 1860b95ce9..0000000000 --- a/meta/recipes-extended/ltp/ltp/0002-lib-fix-MemAvailable-parsing.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 29a096fe2bd356f419bd8a8404d5b652c996b92f Mon Sep 17 00:00:00 2001 -From: Ralph Siemsen -Date: Mon, 27 Sep 2021 22:18:50 -0400 -Subject: [PATCH] lib: fix MemAvailable parsing - -The amount of available memory was not being returned correctly, which -resulted in tests being executed when they should have been skipped. - -Fixes: 8759f4 ("lib: adjust the tmpfs size according to .dev_min_size and MemAvailable") -Signed-off-by: Ralph Siemsen -Signed-off-by: Li Wang -Signed-off-by: Petr Vorel -Upstream-Status: Backport [e42149e28 ("lib: fix MemAvailable parsing")] ---- - lib/tst_memutils.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/lib/tst_memutils.c b/lib/tst_memutils.c -index ae1cad29b..a46de78f5 100644 ---- a/lib/tst_memutils.c -+++ b/lib/tst_memutils.c -@@ -65,9 +65,9 @@ void tst_pollute_memory(size_t maxsize, int fillchar) - - long long tst_available_mem(void) - { -- long long mem_available; -+ unsigned long long mem_available = 0; - -- if (FILE_LINES_SCANF("/proc/meminfo", "MemAvailable: %ld", -+ if (FILE_LINES_SCANF("/proc/meminfo", "MemAvailable: %llu", - &mem_available)) { - mem_available = SAFE_READ_MEMINFO("MemFree:") - + SAFE_READ_MEMINFO("Cached:"); --- -2.33.0 - diff --git a/meta/recipes-extended/ltp/ltp/0003-lapi-rtnetlink.h-Fix-include-guards.patch b/meta/recipes-extended/ltp/ltp/0003-lapi-rtnetlink.h-Fix-include-guards.patch deleted file mode 100644 index 6fcafaff1c..0000000000 --- a/meta/recipes-extended/ltp/ltp/0003-lapi-rtnetlink.h-Fix-include-guards.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 881709d1e4d1bba5bf8ca365bc058f338bd72dc2 Mon Sep 17 00:00:00 2001 -From: Petr Vorel -Date: Wed, 29 Sep 2021 19:38:42 +0200 -Subject: [PATCH] lapi/rtnetlink.h: Fix include guards - -Fixes: 5fea0638a ("lapi: Add missing IFA_FLAGS") - -Signed-off-by: Petr Vorel -Upstream-Status: Backport [a2a212cf8 ("lapi/rtnetlink.h: Fix include guards")] ---- - include/lapi/rtnetlink.h | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/include/lapi/rtnetlink.h b/include/lapi/rtnetlink.h -index 8a1b5385b..04e9ad51a 100644 ---- a/include/lapi/rtnetlink.h -+++ b/include/lapi/rtnetlink.h -@@ -1,8 +1,8 @@ - // SPDX-License-Identifier: GPL-2.0-or-later - /* Copyright (c) 2021 Petr Vorel */ - --#ifndef LAPI_IF_ADDR_H__ --# define LAPI_IF_ADDR_H__ -+#ifndef LAPI_RTNETLINK_H__ -+# define LAPI_RTNETLINK_H__ - - #include - -@@ -10,4 +10,4 @@ - # define IFA_FLAGS 8 - #endif - --#endif /* LAPI_IF_ADDR_H__ */ -+#endif /* LAPI_RTNETLINK_H__ */ --- -2.33.0 - diff --git a/meta/recipes-extended/ltp/ltp/0004-lapi-Create-if_addr.h-and-reuse-it-in-rtnetlink.h.patch b/meta/recipes-extended/ltp/ltp/0004-lapi-Create-if_addr.h-and-reuse-it-in-rtnetlink.h.patch deleted file mode 100644 index 19ac3ba046..0000000000 --- a/meta/recipes-extended/ltp/ltp/0004-lapi-Create-if_addr.h-and-reuse-it-in-rtnetlink.h.patch +++ /dev/null @@ -1,58 +0,0 @@ -From b13440627bd4a9f060a33d400a47a40daa2bc12e Mon Sep 17 00:00:00 2001 -From: Petr Vorel -Date: Wed, 29 Sep 2021 19:37:19 +0200 -Subject: [PATCH] lapi: Create if_addr.h and reuse it in rtnetlink.h - -There will be fix in next commit for missing IFA_F_NOPREFIXROUTE which -requires creating lapi/if_addr.h. Thus move IFA_FLAGS to lapi/if_addr.h, -as it belongs there and reuse lapi/if_addr.h in lapi/rtnetlink.h just -like includes . - -Signed-off-by: Petr Vorel -Upstream-Status: Submitted [https://lore.kernel.org/ltp/20210930183058.5240-3-petr.vorel@gmail.com/T/#u] ---- - include/lapi/if_addr.h | 16 ++++++++++++++++ - include/lapi/rtnetlink.h | 5 +---- - 2 files changed, 17 insertions(+), 4 deletions(-) - create mode 100644 include/lapi/if_addr.h - -diff --git a/include/lapi/if_addr.h b/include/lapi/if_addr.h -new file mode 100644 -index 000000000..4e50a0a4e ---- /dev/null -+++ b/include/lapi/if_addr.h -@@ -0,0 +1,16 @@ -+// SPDX-License-Identifier: GPL-2.0-or-later -+/* -+ * Copyright (c) 2021 Petr Vorel -+ */ -+ -+#ifndef LAPI_IF_ADDR_H__ -+#define LAPI_IF_ADDR_H__ -+ -+#include -+ -+#ifndef IFA_FLAGS -+# define IFA_FLAGS 8 -+#endif -+ -+ -+#endif /* LAPI_IF_ADDR_H__ */ -diff --git a/include/lapi/rtnetlink.h b/include/lapi/rtnetlink.h -index 04e9ad51a..089bf1a0d 100644 ---- a/include/lapi/rtnetlink.h -+++ b/include/lapi/rtnetlink.h -@@ -5,9 +5,6 @@ - # define LAPI_RTNETLINK_H__ - - #include -- --#ifndef IFA_FLAGS --# define IFA_FLAGS 8 --#endif -+#include "lapi/if_addr.h" - - #endif /* LAPI_RTNETLINK_H__ */ --- -2.33.0 - diff --git a/meta/recipes-extended/ltp/ltp/0005-lapi-if_addr.h-Define-IFA_FLAGS.patch b/meta/recipes-extended/ltp/ltp/0005-lapi-if_addr.h-Define-IFA_FLAGS.patch deleted file mode 100644 index f510fda8c9..0000000000 --- a/meta/recipes-extended/ltp/ltp/0005-lapi-if_addr.h-Define-IFA_FLAGS.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 9e357fb4fc00ab9c303e314b85b9ae3836141f81 Mon Sep 17 00:00:00 2001 -From: Petr Vorel -Date: Wed, 29 Sep 2021 19:56:29 +0200 -Subject: [PATCH] lapi/if_addr.h: Define IFA_F_NOPREFIXROUTE - -and use it in icmp_rate_limit01.c. - -This fixes error on toolchains with very old kernel headers, e.g. -Buildroot sourcery-arm: - -icmp_rate_limit01.c:82:3: error: 'IFA_F_NOPREFIXROUTE' undeclared (first use in this function) - IFA_F_NOPREFIXROUTE); - -Fixed because IFA_F_NOPREFIXROUTE was added in 3.14 and the oldest -system we still support is Cent0S 7 with 3.10 kernel. - -NOTE: Cent0S 7 is obviously heavily patched thus it contains -IFA_F_NOPREFIXROUTE and therefore CI build didn't catch this error. - -Signed-off-by: Petr Vorel -Upstream-Status: Submitted [https://lore.kernel.org/ltp/20210930183058.5240-4-petr.vorel@gmail.com/T/#u] ---- - include/lapi/if_addr.h | 3 +++ - testcases/cve/icmp_rate_limit01.c | 3 ++- - 2 files changed, 5 insertions(+), 1 deletion(-) - -diff --git a/include/lapi/if_addr.h b/include/lapi/if_addr.h -index 4e50a0a4e..0f7e44784 100644 ---- a/include/lapi/if_addr.h -+++ b/include/lapi/if_addr.h -@@ -12,5 +12,8 @@ - # define IFA_FLAGS 8 - #endif - -+#ifndef IFA_F_NOPREFIXROUTE -+# define IFA_F_NOPREFIXROUTE 0x200 -+#endif - - #endif /* LAPI_IF_ADDR_H__ */ -diff --git a/testcases/cve/icmp_rate_limit01.c b/testcases/cve/icmp_rate_limit01.c -index b3a237b30..3ada32675 100644 ---- a/testcases/cve/icmp_rate_limit01.c -+++ b/testcases/cve/icmp_rate_limit01.c -@@ -27,11 +27,12 @@ - #include - #include - #include --#include - #include - - #include - #include -+ -+#include "lapi/if_addr.h" - #include "tst_test.h" - #include "tst_netdevice.h" - --- -2.33.0 - diff --git a/meta/recipes-extended/ltp/ltp_20210927.bb b/meta/recipes-extended/ltp/ltp_20210927.bb deleted file mode 100644 index b5dfd8bb69..0000000000 --- a/meta/recipes-extended/ltp/ltp_20210927.bb +++ /dev/null @@ -1,136 +0,0 @@ -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 = "GPLv2 & GPLv2+ & LGPLv2+ & LGPLv2.1+ & 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" - -CFLAGS:append:powerpc64 = " -D__SANE_USERSPACE_TYPES__" -CFLAGS:append:mipsarchn64 = " -D__SANE_USERSPACE_TYPES__" -SRCREV = "12beeda351b5d758a729aaf695b836ccc9eb5304" - -SRC_URI = "git://github.com/linux-test-project/ltp.git;branch=master;protocol=https \ - file://0001-Remove-OOM-tests-from-runtest-mm.patch \ - file://0002-lib-fix-MemAvailable-parsing.patch \ - file://0003-lapi-rtnetlink.h-Fix-include-guards.patch \ - file://0004-lapi-Create-if_addr.h-and-reuse-it-in-rtnetlink.h.patch \ - file://0005-lapi-if_addr.h-Define-IFA_FLAGS.patch \ - " - -S = "${WORKDIR}/git" - -inherit autotools-brokensep pkgconfig - -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_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 - - # Copy POSIX test suite into ${D}${prefix}/testcases by manual - cp -r testcases/open_posix_testsuite ${D}${prefix}/testcases - - # Makefile were configured in the build system - find ${D}${prefix} -name Makefile | xargs -n 1 sed -i \ - -e 's@[^ ]*-fdebug-prefix-map=[^ "]*@@g' \ - -e 's@[^ ]*-fmacro-prefix-map=[^ "]*@@g' \ - -e 's@[^ ]*-ffile-prefix-map=[^ "]*@@g' \ - -e 's@[^ ]*--sysroot=[^ "]*@@g' - - # 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/confstr/confstr01.c \ - 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 \ - utils/benchmark/ebizzy-0.3 -} -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' diff --git a/meta/recipes-extended/ltp/ltp_20220121.bb b/meta/recipes-extended/ltp/ltp_20220121.bb new file mode 100644 index 0000000000..bf567c6fb8 --- /dev/null +++ b/meta/recipes-extended/ltp/ltp_20220121.bb @@ -0,0 +1,137 @@ +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 = "GPLv2 & GPLv2+ & LGPLv2+ & LGPLv2.1+ & 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" + +CFLAGS:append:powerpc64 = " -D__SANE_USERSPACE_TYPES__" +CFLAGS:append:mipsarchn64 = " -D__SANE_USERSPACE_TYPES__" +SRCREV = "b0561ad8d9ee9fe1244b5385e941eb65a21e91a1" + +SRC_URI = "git://github.com/linux-test-project/ltp.git;branch=master;protocol=https \ + file://0001-Remove-OOM-tests-from-runtest-mm.patch \ + file://0001-metadata-parse.sh-sort-filelist-for-reproducibility.patch \ + " + +S = "${WORKDIR}/git" + +inherit autotools-brokensep pkgconfig + +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}" +} + +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 + + # Copy POSIX test suite into ${D}${prefix}/testcases by manual + cp -r testcases/open_posix_testsuite ${D}${prefix}/testcases + + # Makefile were configured in the build system + find ${D}${prefix} -name Makefile | xargs -n 1 sed -i \ + -e 's@[^ ]*-fdebug-prefix-map=[^ "]*@@g' \ + -e 's@[^ ]*-fmacro-prefix-map=[^ "]*@@g' \ + -e 's@[^ ]*-ffile-prefix-map=[^ "]*@@g' \ + -e 's@[^ ]*--sysroot=[^ "]*@@g' + + # 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/confstr/confstr01.c \ + 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 \ + utils/benchmark/ebizzy-0.3 +} +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' -- cgit v1.2.3-54-g00ecf