aboutsummaryrefslogtreecommitdiff
path: root/package/ltp-testsuite
diff options
context:
space:
mode:
Diffstat (limited to 'package/ltp-testsuite')
-rw-r--r--package/ltp-testsuite/0001-fanotify.h-fix-build-with-uclibc.patch41
-rw-r--r--package/ltp-testsuite/0002-lapi-Add-sysinfo.h-to-fix-build-with-MUSL-libc.patch211
-rw-r--r--package/ltp-testsuite/ltp-testsuite.hash4
-rw-r--r--package/ltp-testsuite/ltp-testsuite.mk30
4 files changed, 225 insertions, 61 deletions
diff --git a/package/ltp-testsuite/0001-fanotify.h-fix-build-with-uclibc.patch b/package/ltp-testsuite/0001-fanotify.h-fix-build-with-uclibc.patch
deleted file mode 100644
index 5531756970..0000000000
--- a/package/ltp-testsuite/0001-fanotify.h-fix-build-with-uclibc.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From cb11e718ce04261cb6ff4c09442b949da33b8797 Mon Sep 17 00:00:00 2001
-From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-Date: Sat, 5 Sep 2020 17:55:45 +0200
-Subject: [PATCH] fanotify.h: fix build with uclibc
-
-MAX_HANDLE_SZ is used since version 20200515 and
-https://github.com/linux-test-project/ltp/commit/d20a3e8f9a794e0659277acfa9fbcf7454ba4631
-
-However, it is not defined by uclibc, so define it if needed to avoid
-the following build failure:
-
-fanotify.h:171:11: error: 'MAX_HANDLE_SZ' undeclared here (not in a function)
- 171 | char buf[MAX_HANDLE_SZ];
-
-Fixes:
- - http://autobuild.buildroot.org/results/fb0a67b15482e76b379b4b4d9c43b45bb0fccae1
-
-Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-Reviewed-by: Cyril Hrubis <chrubis@suse.cz>
-[Retrieved from:
-https://github.com/linux-test-project/ltp/commit/cb11e718ce04261cb6ff4c09442b949da33b8797]
----
- testcases/kernel/syscalls/fanotify/fanotify.h | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/testcases/kernel/syscalls/fanotify/fanotify.h b/testcases/kernel/syscalls/fanotify/fanotify.h
-index a9a431ca2f..d271578e97 100644
---- a/testcases/kernel/syscalls/fanotify/fanotify.h
-+++ b/testcases/kernel/syscalls/fanotify/fanotify.h
-@@ -139,6 +139,11 @@ struct fanotify_event_info_fid {
- #endif /* HAVE_STRUCT_FANOTIFY_EVENT_INFO_FID_FSID___VAL */
-
- #ifdef HAVE_NAME_TO_HANDLE_AT
-+
-+#ifndef MAX_HANDLE_SZ
-+#define MAX_HANDLE_SZ 128
-+#endif
-+
- /*
- * Helper function used to obtain fsid and file_handle for a given path.
- * Used by test files correlated to FAN_REPORT_FID functionality.
diff --git a/package/ltp-testsuite/0002-lapi-Add-sysinfo.h-to-fix-build-with-MUSL-libc.patch b/package/ltp-testsuite/0002-lapi-Add-sysinfo.h-to-fix-build-with-MUSL-libc.patch
new file mode 100644
index 0000000000..2893026c03
--- /dev/null
+++ b/package/ltp-testsuite/0002-lapi-Add-sysinfo.h-to-fix-build-with-MUSL-libc.patch
@@ -0,0 +1,211 @@
+From ac3e262cba81889c0bb04ce87a50a1709f2726e7 Mon Sep 17 00:00:00 2001
+From: Petr Vorel <petr.vorel@gmail.com>
+Date: Thu, 1 Oct 2020 23:28:39 +0200
+Subject: [PATCH] lapi: Add sysinfo.h to fix build with MUSL libc
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+The reason is to avoid indirect <linux/sysinfo.h> include when using
+some network headers: <linux/netlink.h> or others -> <linux/kernel.h>
+-> <linux/sysinfo.h>
+
+This indirect include causes on MUSL redefinition of struct sysinfo when
+included both <sys/sysinfo.h> and some of UAPI headers:
+
+In file included from x86_64-buildroot-linux-musl/sysroot/usr/include/linux/kernel.h:5,
+ from x86_64-buildroot-linux-musl/sysroot/usr/include/linux/netlink.h:5,
+ from ../include/tst_netlink.h:14,
+ from tst_crypto.c:13:
+x86_64-buildroot-linux-musl/sysroot/usr/include/linux/sysinfo.h:8:8: error: redefinition of ‘struct sysinfo’
+ struct sysinfo {
+ ^~~~~~~
+In file included from ../include/tst_safe_macros.h:15,
+ from ../include/tst_test.h:93,
+ from tst_crypto.c:11:
+x86_64-buildroot-linux-musl/sysroot/usr/include/sys/sysinfo.h:10:8: note: originally defined here
+
+Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
+
+[ upstream status: https://patchwork.ozlabs.org/project/ltp/patch/20201001231256.6930-1-petr.vorel@gmail.com/
+
+But this patch is not going to get upstreamed because it got fixed in Linux kernel:
+a85cbe6159ff "uapi: move constants from <linux/kernel.h> to <linux/const.h>"
+
+This patch was also backported to stable and LTS versions,
+which we use since buildroot 54584d233b "{linux, linux-headers}: bump
+5.{4, 10}.x 4.{4, 9, 14, 19} series".
+We just wait for all musl based toolchains to be rebuilt. ]
+---
+ include/lapi/sysinfo.h | 22 +++++++++++++++++++
+ include/tst_safe_macros.h | 2 +-
+ lib/safe_macros.c | 2 +-
+ lib/tst_memutils.c | 2 +-
+ testcases/kernel/mem/mtest01/mtest01.c | 2 +-
+ testcases/kernel/syscalls/madvise/madvise06.c | 2 +-
+ testcases/kernel/syscalls/sysinfo/sysinfo01.c | 2 +-
+ testcases/kernel/syscalls/sysinfo/sysinfo02.c | 2 +-
+ testcases/kernel/syscalls/sysinfo/sysinfo03.c | 2 +-
+ 9 files changed, 30 insertions(+), 8 deletions(-)
+ create mode 100644 include/lapi/sysinfo.h
+
+diff --git a/include/lapi/sysinfo.h b/include/lapi/sysinfo.h
+new file mode 100644
+index 000000000..d0e0e93d7
+--- /dev/null
++++ b/include/lapi/sysinfo.h
+@@ -0,0 +1,22 @@
++// SPDX-License-Identifier: GPL-2.0-or-later
++/*
++ * Copyright (c) 2020 Petr Vorel <petr.vorel@gmail.com>
++ */
++
++#ifndef SYSINFO_H__
++
++/*
++ * Don't use <sys/sysinfo.h> as it breaks build MUSL toolchain.
++ * Use <linux/sysinfo.h> instead.
++ *
++ * Some kernel UAPI headers do indirect <linux/sysinfo.h> include:
++ * <linux/netlink.h> or others -> <linux/kernel.h> -> <linux/sysinfo.h>
++ *
++ * This indirect include causes on MUSL redefinition of struct sysinfo when
++ * included both <sys/sysinfo.h> and some of UAPI headers:
++ */
++#include <linux/sysinfo.h>
++
++#define SYSINFO_H__
++
++#endif /* SYSINFO_H__ */
+diff --git a/include/tst_safe_macros.h b/include/tst_safe_macros.h
+index ee3df4142..3cb1623f9 100644
+--- a/include/tst_safe_macros.h
++++ b/include/tst_safe_macros.h
+@@ -12,7 +12,7 @@
+ #include <sys/resource.h>
+ #include <sys/stat.h>
+ #include <sys/vfs.h>
+-#include <sys/sysinfo.h>
++#include <linux/sysinfo.h>
+ #include <fcntl.h>
+ #include <libgen.h>
+ #include <signal.h>
+diff --git a/lib/safe_macros.c b/lib/safe_macros.c
+index a5b6bc504..20d01d304 100644
+--- a/lib/safe_macros.c
++++ b/lib/safe_macros.c
+@@ -11,7 +11,6 @@
+ #include <sys/wait.h>
+ #include <sys/mount.h>
+ #include <sys/xattr.h>
+-#include <sys/sysinfo.h>
+ #include <errno.h>
+ #include <fcntl.h>
+ #include <libgen.h>
+@@ -23,6 +22,7 @@
+ #include <malloc.h>
+ #include "test.h"
+ #include "safe_macros.h"
++#include "lapi/sysinfo.h"
+
+ char *safe_basename(const char *file, const int lineno,
+ void (*cleanup_fn) (void), char *path)
+diff --git a/lib/tst_memutils.c b/lib/tst_memutils.c
+index dd09db490..085392365 100644
+--- a/lib/tst_memutils.c
++++ b/lib/tst_memutils.c
+@@ -5,11 +5,11 @@
+
+ #include <unistd.h>
+ #include <limits.h>
+-#include <sys/sysinfo.h>
+ #include <stdlib.h>
+
+ #define TST_NO_DEFAULT_MAIN
+ #include "tst_test.h"
++#include "lapi/sysinfo.h"
+
+ #define BLOCKSIZE (16 * 1024 * 1024)
+
+diff --git a/testcases/kernel/mem/mtest01/mtest01.c b/testcases/kernel/mem/mtest01/mtest01.c
+index 9676ea4b5..33b2ac822 100644
+--- a/testcases/kernel/mem/mtest01/mtest01.c
++++ b/testcases/kernel/mem/mtest01/mtest01.c
+@@ -20,7 +20,6 @@
+ */
+
+ #include <sys/types.h>
+-#include <sys/sysinfo.h>
+ #include <sys/wait.h>
+ #include <limits.h>
+ #include <signal.h>
+@@ -29,6 +28,7 @@
+ #include <unistd.h>
+
+ #include "lapi/abisize.h"
++#include "lapi/sysinfo.h"
+ #include "tst_test.h"
+
+ #define FIVE_HUNDRED_MB (500ULL*1024*1024)
+diff --git a/testcases/kernel/syscalls/madvise/madvise06.c b/testcases/kernel/syscalls/madvise/madvise06.c
+index 962554163..aa4d3bc91 100644
+--- a/testcases/kernel/syscalls/madvise/madvise06.c
++++ b/testcases/kernel/syscalls/madvise/madvise06.c
+@@ -41,7 +41,7 @@
+ #include <errno.h>
+ #include <stdio.h>
+ #include <sys/mount.h>
+-#include <sys/sysinfo.h>
++#include "lapi/sysinfo.h"
+ #include "tst_test.h"
+
+ #define CHUNK_SZ (400*1024*1024L)
+diff --git a/testcases/kernel/syscalls/sysinfo/sysinfo01.c b/testcases/kernel/syscalls/sysinfo/sysinfo01.c
+index 2ea44a2be..a95066bf5 100644
+--- a/testcases/kernel/syscalls/sysinfo/sysinfo01.c
++++ b/testcases/kernel/syscalls/sysinfo/sysinfo01.c
+@@ -69,9 +69,9 @@
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <sys/signal.h>
+-#include <sys/sysinfo.h>
+
+ #include "test.h"
++#include "lapi/sysinfo.h"
+
+ void setup();
+ void cleanup();
+diff --git a/testcases/kernel/syscalls/sysinfo/sysinfo02.c b/testcases/kernel/syscalls/sysinfo/sysinfo02.c
+index 678b8f1d3..5ce65d20e 100644
+--- a/testcases/kernel/syscalls/sysinfo/sysinfo02.c
++++ b/testcases/kernel/syscalls/sysinfo/sysinfo02.c
+@@ -65,10 +65,10 @@
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <sys/signal.h>
+-#include <sys/sysinfo.h>
+ #include <stdint.h>
+
+ #include "test.h"
++#include "lapi/sysinfo.h"
+
+ #define INVALID_ADDRESS ((uintptr_t)-1)
+
+diff --git a/testcases/kernel/syscalls/sysinfo/sysinfo03.c b/testcases/kernel/syscalls/sysinfo/sysinfo03.c
+index af7cb6421..3b61a05b1 100644
+--- a/testcases/kernel/syscalls/sysinfo/sysinfo03.c
++++ b/testcases/kernel/syscalls/sysinfo/sysinfo03.c
+@@ -13,9 +13,9 @@
+
+ */
+
+-#include <sys/sysinfo.h>
+ #include "lapi/namespaces_constants.h"
+ #include "lapi/posix_clocks.h"
++#include "lapi/sysinfo.h"
+ #include "tst_test.h"
+
+ static int offsets[] = {
+--
+2.30.0
+
diff --git a/package/ltp-testsuite/ltp-testsuite.hash b/package/ltp-testsuite/ltp-testsuite.hash
index eb349e2929..f0b2c89704 100644
--- a/package/ltp-testsuite/ltp-testsuite.hash
+++ b/package/ltp-testsuite/ltp-testsuite.hash
@@ -1,4 +1,4 @@
-# From: https://github.com/linux-test-project/ltp/releases/download/20200515/ltp-full-20200515.tar.xz.sha1
-sha1 7b3932b46295328c64d6f235bc54fa68806b9ede ltp-full-20200515.tar.xz
+# From: https://github.com/linux-test-project/ltp/releases/download/20210121/ltp-full-20210121.tar.xz.sha1
+sha1 ac9c1c711aed4319c5fbd0b665d36f75236a4ec2 ltp-full-20210121.tar.xz
# Locally computed
sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING
diff --git a/package/ltp-testsuite/ltp-testsuite.mk b/package/ltp-testsuite/ltp-testsuite.mk
index 4cee77bcd0..43ee134d1c 100644
--- a/package/ltp-testsuite/ltp-testsuite.mk
+++ b/package/ltp-testsuite/ltp-testsuite.mk
@@ -4,14 +4,16 @@
#
################################################################################
-LTP_TESTSUITE_VERSION = 20200515
+LTP_TESTSUITE_VERSION = 20210121
LTP_TESTSUITE_SOURCE = ltp-full-$(LTP_TESTSUITE_VERSION).tar.xz
LTP_TESTSUITE_SITE = https://github.com/linux-test-project/ltp/releases/download/$(LTP_TESTSUITE_VERSION)
+
LTP_TESTSUITE_LICENSE = GPL-2.0, GPL-2.0+
LTP_TESTSUITE_LICENSE_FILES = COPYING
LTP_TESTSUITE_CONF_OPTS += \
- --with-realtime-testsuite --with-open-posix-testsuite
+ --with-realtime-testsuite --with-open-posix-testsuite \
+ --disable-metadata
ifeq ($(BR2_LINUX_KERNEL),y)
LTP_TESTSUITE_DEPENDENCIES += linux
@@ -63,38 +65,30 @@ LTP_TESTSUITE_CONF_ENV += \
SYSROOT="$(STAGING_DIR)"
# uclibc: bessel support normally not enabled
-ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y)
-LTP_TESTSUITE_UNSUPPORTED_TEST_CASES = \
+LTP_TESTSUITE_UNSUPPORTED_TEST_CASES_$(BR2_TOOLCHAIN_USES_UCLIBC) += \
testcases/misc/math/float/bessel/ \
testcases/misc/math/float/float_bessel.c
-else ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y)
-LTP_TESTSUITE_UNSUPPORTED_TEST_CASES = \
+
+LTP_TESTSUITE_UNSUPPORTED_TEST_CASES_$(BR2_TOOLCHAIN_USES_MUSL) += \
testcases/kernel/sched/process_stress/process.c \
testcases/kernel/syscalls/confstr/confstr01.c \
testcases/kernel/syscalls/fmtmsg/fmtmsg01.c \
testcases/kernel/syscalls/getcontext/getcontext01.c \
- testcases/kernel/syscalls/getdents/getdents01.c \
- testcases/kernel/syscalls/getdents/getdents02.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
-endif
+
+# ldd command build system tries to build a shared library unconditionally.
+LTP_TESTSUITE_UNSUPPORTED_TEST_CASES_$(BR2_STATIC_LIBS) += \
+ testcases/commands/ldd
define LTP_TESTSUITE_REMOVE_UNSUPPORTED_TESTCASES
- $(foreach f,$(LTP_TESTSUITE_UNSUPPORTED_TEST_CASES),
+ $(foreach f,$(LTP_TESTSUITE_UNSUPPORTED_TEST_CASES_y),
rm -rf $(@D)/$(f)
)
endef
LTP_TESTSUITE_POST_PATCH_HOOKS += LTP_TESTSUITE_REMOVE_UNSUPPORTED_TESTCASES
-# ldd command build system tries to build a shared library unconditionally.
-ifeq ($(BR2_STATIC_LIBS),y)
-define LTP_TESTSUITE_REMOVE_LDD
- rm -rf $(@D)/testcases/commands/ldd
-endef
-LTP_TESTSUITE_POST_PATCH_HOOKS += LTP_TESTSUITE_REMOVE_LDD
-endif
-
$(eval $(autotools-package))