[PATCH v1 03/31] testcases: sysfs: Add sys_kernel01
Cyril Hrubis <[email protected]>
| Newsgroups | gmane.linux.ltp |
|---|---|
| Message-ID | <[email protected]> |
A test for /sys/kernel/* files. Signed-off-by: Cyril Hrubis <[email protected]> --- runtest/sysfs | 1 + testcases/kernel/sysfs/kernel/.gitignore | 1 + testcases/kernel/sysfs/kernel/Makefile | 7 +++ testcases/kernel/sysfs/kernel/sys_kernel01.c | 46 ++++++++++++++++++++ 4 files changed, 55 insertions(+) create mode 100644 testcases/kernel/sysfs/kernel/.gitignore create mode 100644 testcases/kernel/sysfs/kernel/Makefile create mode 100644 testcases/kernel/sysfs/kernel/sys_kernel01.c diff --git a/runtest/sysfs b/runtest/sysfs index e679cacb1..142b4a290 100644 --- a/runtest/sysfs +++ b/runtest/sysfs @@ -1 +1,2 @@ sys_power01 sys_power01 +sys_kernel01 sys_kernel01 diff --git a/testcases/kernel/sysfs/kernel/.gitignore b/testcases/kernel/sysfs/kernel/.gitignore new file mode 100644 index 000000000..d11d43ce2 --- /dev/null +++ b/testcases/kernel/sysfs/kernel/.gitignore @@ -0,0 +1 @@ +/sys_kernel01 diff --git a/testcases/kernel/sysfs/kernel/Makefile b/testcases/kernel/sysfs/kernel/Makefile new file mode 100644 index 000000000..d48598a66 --- /dev/null +++ b/testcases/kernel/sysfs/kernel/Makefile @@ -0,0 +1,7 @@ +# SPDX-License-Identifier: GPL-2.0-or-later +# Copyright (c) 2026 Cyril Hrubis <[email protected]> + +top_srcdir ?= ../../../.. + +include $(top_srcdir)/include/mk/testcases.mk +include $(top_srcdir)/include/mk/generic_trunk_target.mk diff --git a/testcases/kernel/sysfs/kernel/sys_kernel01.c b/testcases/kernel/sysfs/kernel/sys_kernel01.c new file mode 100644 index 000000000..b5efbe2e1 --- /dev/null +++ b/testcases/kernel/sysfs/kernel/sys_kernel01.c @@ -0,0 +1,46 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + * Copyright (c) 2026 Cyril Hrubis <[email protected]> + */ + +/*\ + * Sanity checks for assorted scalar attributes exported directly under + * /sys/kernel/. + * + * The test verifies that: + * + * - address_bits is either 32 or 64 + * - cpu_byteorder is "little" or "big" and matches the host byte order + * - rcu_expedited and rcu_normal are booleans (0 or 1) + * + * All checks skip gracefully with TCONF when a particular attribute is not + * present, since these files were added over several kernel releases. + */ + +#include <endian.h> +#include "tst_test.h" +#include "tst_sysfs_assert.h" + +#define SYS_KERNEL "/sys/kernel" + +static const char *const address_bits_allowed[] = { + "32", "64", NULL +}; + +static void run(void) +{ + TST_SYSFS_ASSERT_ONEOF(address_bits_allowed, SYS_KERNEL "/address_bits"); + +#if __BYTE_ORDER == __LITTLE_ENDIAN + TST_SYSFS_EXP_EQ_STR("little", SYS_KERNEL "/cpu_byteorder"); +#elif __BYTE_ORDER == __BIG_ENDIAN + TST_SYSFS_EXP_EQ_STR("big", SYS_KERNEL "/cpu_byteorder"); +#endif + + TST_SYSFS_ASSERT_BOOL(SYS_KERNEL "/rcu_expedited"); + TST_SYSFS_ASSERT_BOOL(SYS_KERNEL "/rcu_normal"); +} + +static struct tst_test test = { + .test_all = run, +}; -- 2.54.0 -- Mailing list info: https://lists.linux.it/listinfo/ltp