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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.