From b443fc820753428ca3247c9d17fe364c32306d83 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Wed, 28 Oct 2020 22:05:39 +0100 Subject: ltp: update 20200515 -> 20200930 Drop backports. Remove 0001-sigwaitinfo-Do-not-run-invalid-undefined-test-cases.patch as upstream has removed the code being patched. (From OE-Core rev: 8d24f8e5278eedef987480bef151ce9ba7c05f1a) Signed-off-by: Alexander Kanavin Signed-off-by: Richard Purdie --- .../0001-Remove-OOM-tests-from-runtest-mm.patch | 17 ++- .../0001-ptrace01-Fix-missing-format-string.patch | 33 ------ ...o-Do-not-run-invalid-undefined-test-cases.patch | 69 ------------ ...py_file_range02-Expect-EFBIG-in-subcase-m.patch | 57 ---------- .../ltp/0004-guard-mallocopt-with-__GLIBC__.patch | 34 ------ meta/recipes-extended/ltp/ltp_20200515.bb | 124 --------------------- meta/recipes-extended/ltp/ltp_20200930.bb | 120 ++++++++++++++++++++ 7 files changed, 127 insertions(+), 327 deletions(-) delete mode 100644 meta/recipes-extended/ltp/ltp/0001-ptrace01-Fix-missing-format-string.patch delete mode 100644 meta/recipes-extended/ltp/ltp/0001-sigwaitinfo-Do-not-run-invalid-undefined-test-cases.patch delete mode 100644 meta/recipes-extended/ltp/ltp/0001-syscalls-copy_file_range02-Expect-EFBIG-in-subcase-m.patch delete mode 100644 meta/recipes-extended/ltp/ltp/0004-guard-mallocopt-with-__GLIBC__.patch delete mode 100644 meta/recipes-extended/ltp/ltp_20200515.bb create mode 100644 meta/recipes-extended/ltp/ltp_20200930.bb (limited to 'meta') diff --git a/meta/recipes-extended/ltp/ltp/0001-Remove-OOM-tests-from-runtest-mm.patch b/meta/recipes-extended/ltp/ltp/0001-Remove-OOM-tests-from-runtest-mm.patch index 6b665030c3..e51950f153 100644 --- a/meta/recipes-extended/ltp/ltp/0001-Remove-OOM-tests-from-runtest-mm.patch +++ b/meta/recipes-extended/ltp/ltp/0001-Remove-OOM-tests-from-runtest-mm.patch @@ -1,4 +1,4 @@ -From 13ef88cdccfe3f58c53d57806866b91e310eb272 Mon Sep 17 00:00:00 2001 +From 93772c511d954d755cc9128c58ed8968a5af541b Mon Sep 17 00:00:00 2001 From: "Mingde (Matthew) Zeng" Date: Wed, 29 Jul 2020 08:47:09 -0400 Subject: [PATCH] Remove OOM tests from runtest/mm @@ -13,13 +13,13 @@ Signed-off-by: Mingde (Matthew) Zeng 1 file changed, 6 deletions(-) diff --git a/runtest/mm b/runtest/mm -index a09f39c1e..76fa82754 100644 +index 481d39691..cf207d10e 100644 --- a/runtest/mm +++ b/runtest/mm -@@ -73,12 +73,6 @@ ksm06 ksm06 - ksm06_1 ksm06 -n 10 - ksm06_2 ksm06 -n 10000 - +@@ -74,12 +74,6 @@ ksm06_2 ksm06 -n 10000 + + cpuset01 cpuset01 + -oom01 oom01 -oom02 oom02 -oom03 oom03 @@ -27,8 +27,5 @@ index a09f39c1e..76fa82754 100644 -oom05 oom05 - swapping01 swapping01 -i 5 - + thp01 thp01 -I 120 --- -2.27.0 - diff --git a/meta/recipes-extended/ltp/ltp/0001-ptrace01-Fix-missing-format-string.patch b/meta/recipes-extended/ltp/ltp/0001-ptrace01-Fix-missing-format-string.patch deleted file mode 100644 index 27b890e22b..0000000000 --- a/meta/recipes-extended/ltp/ltp/0001-ptrace01-Fix-missing-format-string.patch +++ /dev/null @@ -1,33 +0,0 @@ -From adb9587466a493fdd9d4410f1b8b130ebca06daa Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 19 May 2020 22:21:23 -0700 -Subject: [PATCH] ptrace01: Fix missing format string - -Fixes -| ptrace01.c:89:2: error: format string is not a string literal -(potentially insecure) [-Werror,-Wformat-security] -| tst_res(TINFO, tc->message); -| ^ ~~~~~~~~~~~ - -Signed-off-by: Khem Raj -Upstream-Status: Backport [58424835952641f4fd60c0ae3ab6c64decca3f8a] ---- - testcases/kernel/syscalls/ptrace/ptrace01.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/testcases/kernel/syscalls/ptrace/ptrace01.c b/testcases/kernel/syscalls/ptrace/ptrace01.c -index 87a99e4150..9071bbabaf 100644 ---- a/testcases/kernel/syscalls/ptrace/ptrace01.c -+++ b/testcases/kernel/syscalls/ptrace/ptrace01.c -@@ -86,7 +86,7 @@ static void run(unsigned int i) - - got_signal = 0; - -- tst_res(TINFO, tc->message); -+ tst_res(TINFO, "%s", tc->message); - - if (tc->handler == 1) { - parent_act.sa_handler = parent_handler; --- -2.26.2 - diff --git a/meta/recipes-extended/ltp/ltp/0001-sigwaitinfo-Do-not-run-invalid-undefined-test-cases.patch b/meta/recipes-extended/ltp/ltp/0001-sigwaitinfo-Do-not-run-invalid-undefined-test-cases.patch deleted file mode 100644 index 17d5af89e2..0000000000 --- a/meta/recipes-extended/ltp/ltp/0001-sigwaitinfo-Do-not-run-invalid-undefined-test-cases.patch +++ /dev/null @@ -1,69 +0,0 @@ -From e0a63deb1857eb90288e90d6368df70cdd0c0ec9 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Thu, 28 May 2020 13:04:33 -0700 -Subject: [PATCH] sigwaitinfo: Do not run invalid/undefined test cases - -These testcases run for eternity on musl - -test_bad_address* cases are passing invalid pointers to a function; that's always UB -empty_set and timeout rely on the implementation-defined "may fail" for EINTR in sigtimedwait [1] - -normally "may fail" is an "unspecified" but here the impl -is supposed to document it so it's "impl-defined" - -[1] https://pubs.opengroup.org/onlinepubs/9699919799/functions/sigtimedwait.html - -Upstream-Status: Submitted [https://patchwork.ozlabs.org/project/ltp/patch/20200528204556.2444156-1-raj.khem@gmail.com/] -Signed-off-by: Khem Raj -Cc: Rich Felker ---- - .../kernel/syscalls/sigwaitinfo/sigwaitinfo01.c | 12 ++---------- - 1 file changed, 2 insertions(+), 10 deletions(-) - ---- a/testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c -+++ b/testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c -@@ -422,15 +422,10 @@ struct test_desc { - } tests[] = { - #ifdef TEST_RT_SIGTIMEDWAIT - { -- test_empty_set, my_rt_sigtimedwait, SIGUSR1}, { - test_unmasked_matching, my_rt_sigtimedwait, SIGUSR1}, { - test_masked_matching, my_rt_sigtimedwait, SIGUSR1}, { - test_unmasked_matching_noinfo, my_rt_sigtimedwait, SIGUSR1}, { -- test_masked_matching_noinfo, my_rt_sigtimedwait, SIGUSR1}, { -- test_bad_address, my_rt_sigtimedwait, SIGUSR1}, { -- test_bad_address2, my_rt_sigtimedwait, SIGUSR1}, { -- test_bad_address3, my_rt_sigtimedwait, SIGUSR1}, { -- test_timeout, my_rt_sigtimedwait, 0}, -+ test_masked_matching_noinfo, my_rt_sigtimedwait, SIGUSR1}, - /* Special cases */ - /* 1: sigwaitinfo does respond to ignored signal */ - { -@@ -452,25 +447,17 @@ struct test_desc { - #endif - #if defined TEST_SIGWAITINFO - { -- test_empty_set, my_sigwaitinfo, SIGUSR1}, { - test_unmasked_matching, my_sigwaitinfo, SIGUSR1}, { - test_masked_matching, my_sigwaitinfo, SIGUSR1}, { - test_unmasked_matching_noinfo, my_sigwaitinfo, SIGUSR1}, { -- test_masked_matching_noinfo, my_sigwaitinfo, SIGUSR1}, { -- test_bad_address, my_sigwaitinfo, SIGUSR1}, { -- test_bad_address2, my_sigwaitinfo, SIGUSR1}, -+ test_masked_matching_noinfo, my_sigwaitinfo, SIGUSR1}, - #endif - #if defined TEST_SIGTIMEDWAIT - { -- test_empty_set, my_sigtimedwait, SIGUSR1}, { - test_unmasked_matching, my_sigtimedwait, SIGUSR1}, { - test_masked_matching, my_sigtimedwait, SIGUSR1}, { - test_unmasked_matching_noinfo, my_sigtimedwait, SIGUSR1}, { -- test_masked_matching_noinfo, my_sigtimedwait, SIGUSR1}, { -- test_bad_address, my_sigtimedwait, SIGUSR1}, { -- test_bad_address2, my_sigtimedwait, SIGUSR1}, { -- test_bad_address3, my_sigtimedwait, SIGUSR1}, { -- test_timeout, my_sigtimedwait, 0}, -+ test_masked_matching_noinfo, my_sigtimedwait, SIGUSR1}, - #endif - }; - diff --git a/meta/recipes-extended/ltp/ltp/0001-syscalls-copy_file_range02-Expect-EFBIG-in-subcase-m.patch b/meta/recipes-extended/ltp/ltp/0001-syscalls-copy_file_range02-Expect-EFBIG-in-subcase-m.patch deleted file mode 100644 index 09b6f54874..0000000000 --- a/meta/recipes-extended/ltp/ltp/0001-syscalls-copy_file_range02-Expect-EFBIG-in-subcase-m.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 99687ab002f9f750f6f18fa1d70a91f0aa4f8ba2 Mon Sep 17 00:00:00 2001 -From: He Zhe -Date: Thu, 18 Jun 2020 17:18:27 +0800 -Subject: [PATCH] syscalls/copy_file_range02: Expect EFBIG in subcase max - length on 32-bit architectures - -For syscall -ssize_t copy_file_range(int fd_in, loff_t *off_in, - int fd_out, loff_t *off_out, - size_t len, unsigned int flags); -off_out is loff_t* that is long long, 64 bits on 32-bit architectures, -while len is size_t that unsigned int, 32 bits on 32-bit architectures. - -In subcase "max length", simplified as below, - -dst = tst_max_lfs_filesize(); -TEST(sys_copy_file_range(fd_src, 0, *tc->copy_to_fd, &dst, tc->len, tc->flags)); - -where dst is 4K*4G and len is 4G, so (4K+1)*4G is always smaller than 4G*4G, -it can never match the following kernel condition on 32-bit architectures. - -if (pos_in + count < pos_in || pos_out + count < pos_out) - return -EOVERFLOW; - -And thus we would get error like -copy_file_range02.c:139: FAIL: copy_file_range failed unexpectedly; expected EOVERFLOW, but got: EFBIG (27) - -Also correct a typo. - -Upstream-Status: Backport [http://lists.linux.it/pipermail/ltp/2020-June/017716.html] - -Signed-off-by: He Zhe -Acked-by: Li Wang ---- - .../kernel/syscalls/copy_file_range/copy_file_range02.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/testcases/kernel/syscalls/copy_file_range/copy_file_range02.c b/testcases/kernel/syscalls/copy_file_range/copy_file_range02.c -index fa679c4d3..bc27fbe57 100644 ---- a/testcases/kernel/syscalls/copy_file_range/copy_file_range02.c -+++ b/testcases/kernel/syscalls/copy_file_range/copy_file_range02.c -@@ -78,7 +78,11 @@ static struct tcase { - {&fd_chrdev, 0, EINVAL, CONTSIZE, "char device", 0}, - {&fd_fifo, 0, EINVAL, CONTSIZE, "fifo", 0}, - {&fd_pipe[0], 0, EINVAL, CONTSIZE, "pipe", 0}, -- {&fd_copy, 0, EOVERFLOW, ULLONG_MAX, "max length lenght", 1}, -+#ifdef TST_ABI64 -+ {&fd_copy, 0, EOVERFLOW, ULLONG_MAX, "max length", 1}, -+#else -+ {&fd_copy, 0, EFBIG, ULLONG_MAX, "max length", 1}, -+#endif - {&fd_copy, 0, EFBIG, MIN_OFF, "max file size", 1}, - }; - --- -2.17.1 - diff --git a/meta/recipes-extended/ltp/ltp/0004-guard-mallocopt-with-__GLIBC__.patch b/meta/recipes-extended/ltp/ltp/0004-guard-mallocopt-with-__GLIBC__.patch deleted file mode 100644 index a187f61f08..0000000000 --- a/meta/recipes-extended/ltp/ltp/0004-guard-mallocopt-with-__GLIBC__.patch +++ /dev/null @@ -1,34 +0,0 @@ -From d0fc9ca5d3366f9b8907e463222403cd2327be10 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 8 Jan 2016 06:51:20 +0000 -Subject: [PATCH] guard mallocopt() with __GLIBC__ - -mallocopt is not available on non glibc implementations - -Signed-off-by: Khem Raj -Reviewed-by: Petr Vorel -Upstream-Status: Accepted [967612c454aea66770b64f69287671037fe895b3] ---- - utils/benchmark/ebizzy-0.3/ebizzy.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/utils/benchmark/ebizzy-0.3/ebizzy.c b/utils/benchmark/ebizzy-0.3/ebizzy.c -index 5bb8eff..934d951 100644 ---- a/utils/benchmark/ebizzy-0.3/ebizzy.c -+++ b/utils/benchmark/ebizzy-0.3/ebizzy.c -@@ -215,10 +215,10 @@ static void read_options(int argc, char *argv[]) - "\"never mmap\" option specified\n"); - usage(); - } -- -+#ifdef __GLIBC__ - if (never_mmap) - mallopt(M_MMAP_MAX, 0); -- -+#endif - if (chunk_size < record_size) { - fprintf(stderr, "Chunk size %u smaller than record size %u\n", - chunk_size, record_size); --- -2.7.4 - diff --git a/meta/recipes-extended/ltp/ltp_20200515.bb b/meta/recipes-extended/ltp/ltp_20200515.bb deleted file mode 100644 index 0c7044d044..0000000000 --- a/meta/recipes-extended/ltp/ltp_20200515.bb +++ /dev/null @@ -1,124 +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/kernel/controllers/freezer/COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \ - file://testcases/kernel/controllers/freezer/run_freezer.sh;beginline=5;endline=17;md5=86a61d2c042d59836ffb353a21456498 \ - 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=48b1c5ec633e3e30ec2cf884ae699947 \ - file://testcases/realtime/COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \ - file://utils/benchmark/kernbench-0.42/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ -" - -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 = "0d79a93e6ca44d9bc95973faea6bcd7b0c6d1f43" - -SRC_URI = "git://github.com/linux-test-project/ltp.git \ - file://0001-build-Add-option-to-select-libc-implementation.patch \ - file://0004-guard-mallocopt-with-__GLIBC__.patch \ - file://0007-Fix-test_proc_kill-hanging.patch \ - file://0001-Add-more-musl-exclusions.patch \ - file://0001-ptrace01-Fix-missing-format-string.patch \ - file://0001-sigwaitinfo-Do-not-run-invalid-undefined-test-cases.patch \ - file://0001-syscalls-copy_file_range02-Expect-EFBIG-in-subcase-m.patch \ - file://0001-Remove-OOM-tests-from-runtest-mm.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 - - # 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@[^ ]*--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" - -# 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_20200930.bb b/meta/recipes-extended/ltp/ltp_20200930.bb new file mode 100644 index 0000000000..7acf15b360 --- /dev/null +++ b/meta/recipes-extended/ltp/ltp_20200930.bb @@ -0,0 +1,120 @@ +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/kernel/controllers/freezer/COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \ + file://testcases/kernel/controllers/freezer/run_freezer.sh;beginline=5;endline=17;md5=86a61d2c042d59836ffb353a21456498 \ + 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=48b1c5ec633e3e30ec2cf884ae699947 \ + file://testcases/realtime/COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \ + file://utils/benchmark/kernbench-0.42/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ +" + +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 = "da2f34028f046a208aa2fed5e287df2538e69f91" + +SRC_URI = "git://github.com/linux-test-project/ltp.git \ + file://0001-build-Add-option-to-select-libc-implementation.patch \ + file://0007-Fix-test_proc_kill-hanging.patch \ + file://0001-Add-more-musl-exclusions.patch \ + file://0001-Remove-OOM-tests-from-runtest-mm.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 + + # 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@[^ ]*--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" + +# 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