Re: [PATCH v1 00/31] Add sysfs sanity tests
Jan Stancek via ltp <[email protected]>
| Newsgroups | gmane.linux.ltp |
|---|---|
| Message-ID | <CAASaF6zQ=S_Y=X_zkgY1xDR0LTDcUJk19_Aig_4hyLGQvBYHew@mail.gmail.com> |
On Tue, Aug 18, 2026 at 4:13 PM Cyril Hrubis <[email protected]> wrote: > > This is a first bach of the sysfs sanity tests I've been working on > recently. > > The main goal of these tests is to make sure that these files contains > expected data, e.g. files that are supposes to be boolean are 0 or 1, > numeric files contain numbers, etc. > > I've tried to make the code of the tests as clear as possible. Hence the > first addition in this patchset is a library that implements common > assertions for sysfs files to be done in a single line of a code. > > Majority of these tests are just reading the files and checking that the > content is sane. My first thought is whether we really need a separate test for each of these? We could have a single test where you just map file patterns to expected format. Or extend "read_all_sys", which already tries to read from all /sys files, and check that what was read matches expected format. > The exceptions are loop device, veth, tap tests that > cerate virtual devices, which attributes can be changed freely. > > Cyril Hrubis (31): > lib: Add tst_sysfs_assert > testcases: sysfs: Add sys_power01 > testcases: sysfs: Add sys_kernel01 > testcases: sysfs: Add sys_clocksource01 > testcases: sysfs: Add sys_node01 > testcases: sysfs: Add sys_cpu_topology01 > testcases: sysfs: Add sys_cpu_topology02 > testcases: sysfs: Add sys_cpu_vulnerabilities01 > testcases: sysfs: Add sys_cpu_smt01 > testcases: sysfs: Add sys_cpu_cache01 > testcases: sysfs: Add sys_clockevents01 > testcases: sysfs: Add sys_ata01 > testcases: sysfs: Add sys_bdi01 > testcases: sysfs: sys_hwmon01 > testcases: sysfs: sys_leds01 > testcases: sysfs: Add sys_wakeup01 > testcases: sysfs: Add sys_rtc01 > testcases: sysfs: Add sys_thermal01 > tst_netdevice: Add two more helper macros > testcases: sysfs: Add sys_net01 > testcases: sysfs: Add sys_net02 > testcases: sysfs: Add sys_net03 > testcases: sysfs: Add sys_net04 > testcases: sysfs: Add sys_block_loop01 > testcases: sysfs: Add sys_block_queue01 > testcases: sysfs: Add sys_block_size01 > testcases: sysfs: Add sys_hugepages01 > testcases: sysfs: Add sys_hugepages02 > testcases: sysfs: Add sys_ksm01 > testcases: sysfs: Add sys_swap01 > testcases: sysfs: Add sys_thp01 > > doc/developers/api_c_tests.rst | 5 + > include/tst_netdevice.h | 20 + > include/tst_sysfs_assert.h | 588 +++++++++++++ > lib/tst_netdevice.c | 90 ++ > lib/tst_sysfs_assert.c | 797 ++++++++++++++++++ > runtest/sysfs | 29 + > testcases/kernel/sysfs/Makefile | 7 + > testcases/kernel/sysfs/block/.gitignore | 3 + > testcases/kernel/sysfs/block/Makefile | 7 + > .../kernel/sysfs/block/sys_block_loop01.c | 320 +++++++ > .../kernel/sysfs/block/sys_block_queue01.c | 106 +++ > .../kernel/sysfs/block/sys_block_size01.c | 102 +++ > testcases/kernel/sysfs/class/Makefile | 7 + > .../kernel/sysfs/class/ata_device/.gitignore | 1 + > .../kernel/sysfs/class/ata_device/Makefile | 7 + > .../kernel/sysfs/class/ata_device/sys_ata01.c | 93 ++ > testcases/kernel/sysfs/class/bdi/.gitignore | 1 + > testcases/kernel/sysfs/class/bdi/Makefile | 7 + > testcases/kernel/sysfs/class/bdi/sys_bdi01.c | 85 ++ > testcases/kernel/sysfs/class/hwmon/.gitignore | 1 + > testcases/kernel/sysfs/class/hwmon/Makefile | 7 + > .../kernel/sysfs/class/hwmon/sys_hwmon01.c | 196 +++++ > testcases/kernel/sysfs/class/leds/.gitignore | 1 + > testcases/kernel/sysfs/class/leds/Makefile | 7 + > .../kernel/sysfs/class/leds/sys_leds01.c | 67 ++ > testcases/kernel/sysfs/class/net/.gitignore | 4 + > testcases/kernel/sysfs/class/net/Makefile | 7 + > testcases/kernel/sysfs/class/net/sys_net01.c | 123 +++ > testcases/kernel/sysfs/class/net/sys_net02.c | 179 ++++ > testcases/kernel/sysfs/class/net/sys_net03.c | 144 ++++ > testcases/kernel/sysfs/class/net/sys_net04.c | 211 +++++ > .../kernel/sysfs/class/net/sys_net_common.h | 80 ++ > testcases/kernel/sysfs/class/rtc/.gitignore | 1 + > testcases/kernel/sysfs/class/rtc/Makefile | 7 + > testcases/kernel/sysfs/class/rtc/sys_rtc01.c | 200 +++++ > .../kernel/sysfs/class/thermal/.gitignore | 1 + > testcases/kernel/sysfs/class/thermal/Makefile | 7 + > .../sysfs/class/thermal/sys_thermal01.c | 70 ++ > .../kernel/sysfs/class/wakeup/.gitignore | 1 + > testcases/kernel/sysfs/class/wakeup/Makefile | 7 + > .../kernel/sysfs/class/wakeup/sys_wakeup01.c | 93 ++ > testcases/kernel/sysfs/devices/Makefile | 7 + > .../kernel/sysfs/devices/system/Makefile | 7 + > .../devices/system/clockevents/.gitignore | 1 + > .../sysfs/devices/system/clockevents/Makefile | 7 + > .../system/clockevents/sys_clockevents01.c | 88 ++ > .../devices/system/clocksource/.gitignore | 1 + > .../sysfs/devices/system/clocksource/Makefile | 7 + > .../system/clocksource/sys_clocksource01.c | 67 ++ > .../sysfs/devices/system/cpu/.gitignore | 5 + > .../kernel/sysfs/devices/system/cpu/Makefile | 7 + > .../devices/system/cpu/sys_cpu_cache01.c | 100 +++ > .../sysfs/devices/system/cpu/sys_cpu_smt01.c | 65 ++ > .../devices/system/cpu/sys_cpu_topology01.c | 103 +++ > .../devices/system/cpu/sys_cpu_topology02.c | 98 +++ > .../system/cpu/sys_cpu_vulnerabilities01.c | 85 ++ > .../sysfs/devices/system/node/.gitignore | 1 + > .../kernel/sysfs/devices/system/node/Makefile | 7 + > .../sysfs/devices/system/node/sys_node01.c | 112 +++ > testcases/kernel/sysfs/kernel/.gitignore | 1 + > testcases/kernel/sysfs/kernel/Makefile | 7 + > testcases/kernel/sysfs/kernel/mm/Makefile | 7 + > .../sysfs/kernel/mm/hugepages/.gitignore | 2 + > .../kernel/sysfs/kernel/mm/hugepages/Makefile | 7 + > .../kernel/mm/hugepages/sys_hugepages01.c | 133 +++ > .../kernel/mm/hugepages/sys_hugepages02.c | 84 ++ > .../kernel/sysfs/kernel/mm/ksm/.gitignore | 1 + > testcases/kernel/sysfs/kernel/mm/ksm/Makefile | 7 + > .../kernel/sysfs/kernel/mm/ksm/sys_ksm01.c | 64 ++ > .../kernel/sysfs/kernel/mm/swap/.gitignore | 1 + > .../kernel/sysfs/kernel/mm/swap/Makefile | 7 + > .../sysfs/kernel/mm/swap/sys_mm_swap01.c | 32 + > .../kernel/mm/transparent_hugepage/.gitignore | 1 + > .../kernel/mm/transparent_hugepage/Makefile | 7 + > .../mm/transparent_hugepage/sys_thp01.c | 86 ++ > testcases/kernel/sysfs/kernel/sys_kernel01.c | 46 + > testcases/kernel/sysfs/power/.gitignore | 1 + > testcases/kernel/sysfs/power/Makefile | 7 + > testcases/kernel/sysfs/power/sys_power01.c | 66 ++ > 79 files changed, 5024 insertions(+) > create mode 100644 include/tst_sysfs_assert.h > create mode 100644 lib/tst_sysfs_assert.c > create mode 100644 runtest/sysfs > create mode 100644 testcases/kernel/sysfs/Makefile > create mode 100644 testcases/kernel/sysfs/block/.gitignore > create mode 100644 testcases/kernel/sysfs/block/Makefile > create mode 100644 testcases/kernel/sysfs/block/sys_block_loop01.c > create mode 100644 testcases/kernel/sysfs/block/sys_block_queue01.c > create mode 100644 testcases/kernel/sysfs/block/sys_block_size01.c > create mode 100644 testcases/kernel/sysfs/class/Makefile > create mode 100644 testcases/kernel/sysfs/class/ata_device/.gitignore > create mode 100644 testcases/kernel/sysfs/class/ata_device/Makefile > create mode 100644 testcases/kernel/sysfs/class/ata_device/sys_ata01.c > create mode 100644 testcases/kernel/sysfs/class/bdi/.gitignore > create mode 100644 testcases/kernel/sysfs/class/bdi/Makefile > create mode 100644 testcases/kernel/sysfs/class/bdi/sys_bdi01.c > create mode 100644 testcases/kernel/sysfs/class/hwmon/.gitignore > create mode 100644 testcases/kernel/sysfs/class/hwmon/Makefile > create mode 100644 testcases/kernel/sysfs/class/hwmon/sys_hwmon01.c > create mode 100644 testcases/kernel/sysfs/class/leds/.gitignore > create mode 100644 testcases/kernel/sysfs/class/leds/Makefile > create mode 100644 testcases/kernel/sysfs/class/leds/sys_leds01.c > create mode 100644 testcases/kernel/sysfs/class/net/.gitignore > create mode 100644 testcases/kernel/sysfs/class/net/Makefile > create mode 100644 testcases/kernel/sysfs/class/net/sys_net01.c > create mode 100644 testcases/kernel/sysfs/class/net/sys_net02.c > create mode 100644 testcases/kernel/sysfs/class/net/sys_net03.c > create mode 100644 testcases/kernel/sysfs/class/net/sys_net04.c > create mode 100644 testcases/kernel/sysfs/class/net/sys_net_common.h > create mode 100644 testcases/kernel/sysfs/class/rtc/.gitignore > create mode 100644 testcases/kernel/sysfs/class/rtc/Makefile > create mode 100644 testcases/kernel/sysfs/class/rtc/sys_rtc01.c > create mode 100644 testcases/kernel/sysfs/class/thermal/.gitignore > create mode 100644 testcases/kernel/sysfs/class/thermal/Makefile > create mode 100644 testcases/kernel/sysfs/class/thermal/sys_thermal01.c > create mode 100644 testcases/kernel/sysfs/class/wakeup/.gitignore > create mode 100644 testcases/kernel/sysfs/class/wakeup/Makefile > create mode 100644 testcases/kernel/sysfs/class/wakeup/sys_wakeup01.c > create mode 100644 testcases/kernel/sysfs/devices/Makefile > create mode 100644 testcases/kernel/sysfs/devices/system/Makefile > create mode 100644 testcases/kernel/sysfs/devices/system/clockevents/.gitignore > create mode 100644 testcases/kernel/sysfs/devices/system/clockevents/Makefile > create mode 100644 testcases/kernel/sysfs/devices/system/clockevents/sys_clockevents01.c > create mode 100644 testcases/kernel/sysfs/devices/system/clocksource/.gitignore > create mode 100644 testcases/kernel/sysfs/devices/system/clocksource/Makefile > create mode 100644 testcases/kernel/sysfs/devices/system/clocksource/sys_clocksource01.c > create mode 100644 testcases/kernel/sysfs/devices/system/cpu/.gitignore > create mode 100644 testcases/kernel/sysfs/devices/system/cpu/Makefile > create mode 100644 testcases/kernel/sysfs/devices/system/cpu/sys_cpu_cache01.c > create mode 100644 testcases/kernel/sysfs/devices/system/cpu/sys_cpu_smt01.c > create mode 100644 testcases/kernel/sysfs/devices/system/cpu/sys_cpu_topology01.c > create mode 100644 testcases/kernel/sysfs/devices/system/cpu/sys_cpu_topology02.c > create mode 100644 testcases/kernel/sysfs/devices/system/cpu/sys_cpu_vulnerabilities01.c > create mode 100644 testcases/kernel/sysfs/devices/system/node/.gitignore > create mode 100644 testcases/kernel/sysfs/devices/system/node/Makefile > create mode 100644 testcases/kernel/sysfs/devices/system/node/sys_node01.c > create mode 100644 testcases/kernel/sysfs/kernel/.gitignore > create mode 100644 testcases/kernel/sysfs/kernel/Makefile > create mode 100644 testcases/kernel/sysfs/kernel/mm/Makefile > create mode 100644 testcases/kernel/sysfs/kernel/mm/hugepages/.gitignore > create mode 100644 testcases/kernel/sysfs/kernel/mm/hugepages/Makefile > create mode 100644 testcases/kernel/sysfs/kernel/mm/hugepages/sys_hugepages01.c > create mode 100644 testcases/kernel/sysfs/kernel/mm/hugepages/sys_hugepages02.c > create mode 100644 testcases/kernel/sysfs/kernel/mm/ksm/.gitignore > create mode 100644 testcases/kernel/sysfs/kernel/mm/ksm/Makefile > create mode 100644 testcases/kernel/sysfs/kernel/mm/ksm/sys_ksm01.c > create mode 100644 testcases/kernel/sysfs/kernel/mm/swap/.gitignore > create mode 100644 testcases/kernel/sysfs/kernel/mm/swap/Makefile > create mode 100644 testcases/kernel/sysfs/kernel/mm/swap/sys_mm_swap01.c > create mode 100644 testcases/kernel/sysfs/kernel/mm/transparent_hugepage/.gitignore > create mode 100644 testcases/kernel/sysfs/kernel/mm/transparent_hugepage/Makefile > create mode 100644 testcases/kernel/sysfs/kernel/mm/transparent_hugepage/sys_thp01.c > create mode 100644 testcases/kernel/sysfs/kernel/sys_kernel01.c > create mode 100644 testcases/kernel/sysfs/power/.gitignore > create mode 100644 testcases/kernel/sysfs/power/Makefile > create mode 100644 testcases/kernel/sysfs/power/sys_power01.c > > -- > 2.54.0 > > > -- > Mailing list info: https://lists.linux.it/listinfo/ltp > -- Mailing list info: https://lists.linux.it/listinfo/ltp