LTP 20220527
NOTABLE CHANGES
-
New tests
- kvm_pagefault01: aka CVE-2021-38198
- fcntl39: test for DN_RENAME (dnotify)
- io_control01: first cgroup IO controller test
- keyctl09: test encrypted keys with provided decrypted data
- memcontrol03, memcontrol04: tests that cgroup memory is partitioned correctly under pressure
- setsockopt09: regression test for use-after-free in prb_retire_rx_blk_timer_expired()
- setsockopt09: regression test for double free of rx_owner_map aka CVE-2021-22600
- pty07: regression test for use-after-free in vt_ioctl()
- pty06: regression test for VT_DISALLOCATE freeing in-use virtual console
- pidfd_getfd01 basic functional test
- pidfd_getfd02 basic error test
- pidfd_open04 test with PIDFD_NONBLOCK flag
- futex_waitv01 error tests
- futex_waitv02 basic functional test with private memory
- futex_waitv03 basic functional test with shared memory
- inotify11: test opening files after receiving IN_DELETE
regression test for a37d9a17f099 (fsnotify: invalidate dcache before IN_DELETE event) - statx09 test for STATX_ATTR_VERITY
- wqueue09 tests WATCH_META_LOSS_NOTIFICATION event
- wqueue08 tests WATCH_META_REMOVAL_NOTIFICATION event
- wqueue07 tests NOTIFY_KEY_SETATTR event
- wqueue06 tests NOTIFY_KEY_CLEARED event
- wqueue05 tests NOTIFY_KEY_INVALIDATED event
- wqueue04 tests NOTIFY_KEY_LINKED event
- wqueue03 tests NOTIFY_KEY_REVOKED event
- wqueue02 tests NOTIFY_KEY_UNLINKED event
- wqueue01 tests NOTIFY_KEY_UPDATED event
-
Increased coverage
- fanotify14, fanotify16: Add tests for FAN_REPORT_TARGET_FID and FAN_RENAME
- futex_waitv01: Add test verifies EINVAL for invalid nr_futexes
- getcontext01: Test rewritten so that it actually jumps back
- fstat02: Validate st_nlink as well
- sched_get_priority_max01, sched_get_priority_min01: Add missing policies
-
KVM library was written for LTP
- a simple library that can spin up a VM and execute payload
- see also https://github.com/linux-test-project/ltp/wiki/KVM-Test-API
-
The concept of test runtime was introduced
- for details see https://people.kernel.org/metan/test-timeout-and-runtime
-
Removed tests
- syslog tests as these were testing mostly userspace syslog daemon
and were broken for most of the syslog daemon implementations
- syslog tests as these were testing mostly userspace syslog daemon
-
The test library was fixed to terminate all leftover processes in the case
that the main test process dies or exits -
New sparse check for {} terminator for struct arrays in tst_test has been
implemented -
Shell library improvements
- added support for $TST_FORMAT_DEVICE (.format_device in C API)
- preparations for shell API get support for testing on all filesystems (.all_filesystems in C API)
- getopts cleanup and changes how is the library sources,
which resulted in much simpler library code
-
Userns tests were rewritten into the new test API
-
Mountns tests were rewritten into the new test API
-
33 tests were rewritten to the new library
- The usual amount of fixes and cleanups
WHAT IS IN THE QUEUE
In-flight patches include:
- CGroup shell test rewrite that should fix many problems
NOTABLE CHANGES IN NETWORK TESTS
brought to you by Petr Vorel
-
Several fixes (e.g. important nfs_lib: Fix fsid randomisation)
-
Ongoing discussion where should be SCTP testsuite home
DOWNLOAD AND LINKS
The latest version of the test-suite contains 3000+ tests for the Linux
and can be downloaded at:
https://github.com/linux-test-project/ltp/releases/tag/20220527
The project pages as well as GIT repository are hosted on GitHub:
https://github.com/linux-test-project/ltp
http://linux-test-project.github.io/
If you ever wondered how to write a LTP testcase, don't miss our developer
documentation at:
https://github.com/linux-test-project/ltp/wiki/Test-Writing-Guidelines
https://github.com/linux-test-project/ltp/wiki/C-Test-API
https://github.com/linux-test-project/ltp/wiki/C-Test-Network-API
https://github.com/linux-test-project/ltp/wiki/Shell-Test-API
https://github.com/linux-test-project/ltp/wiki/C-Test-Case-Tutorial
https://github.com/linux-test-project/ltp/wiki/BuildSystem
Patches, new tests, bugs, comments or questions should go to to our mailing
list at [email protected].
CREDITS
Many thanks to the people contributing to this release:
git shortlog -s -e -n 20220121..
72 Petr Vorel <[email protected]>
51 Cyril Hrubis <[email protected]>
42 Andrea Cervesato <[email protected]>
22 Li Wang <[email protected]>
21 Richard Palethorpe <[email protected]>
17 Martin Doucha <[email protected]>
15 Yang Xu <[email protected]>
10 Jan Stancek <[email protected]>
10 Zhao Gongyi <[email protected]>
7 Amir Goldstein <[email protected]>
6 Dai Shili <[email protected]>
6 Bogdan Lezhepekov <[email protected]>
4 tangmeng <[email protected]>
2 Chunyu Hu <[email protected]>
2 Kushal Chand <[email protected]>
2 xiaoshoukui <[email protected]>
1 Alexander Ivanov <[email protected]>
1 Alexander Kanavin <[email protected]>
1 Andrea Arcangeli <[email protected]>
1 Edward Liaw via ltp <[email protected]>
1 Fabrice Fontaine <[email protected]>
1 Pavel Tikhomirov <[email protected]>
1 Wang Kunfeng via ltp <[email protected]>
1 Yael Tzur via ltp <[email protected]>
1 ihsinme <[email protected]>
And also thanks to patch reviewers:
git log 20220121.. | grep -Ei '(reviewed|acked)-by:' | sed 's/.*by: //' | sort | uniq -c | sort -n -r
148 Cyril Hrubis <[email protected]>
105 Petr Vorel <[email protected]>
73 Li Wang <[email protected]>
21 Yang Xu <[email protected]>
17 Richard Palethorpe <[email protected]>
10 Martin Doucha <[email protected]>
6 Jan Stancek <[email protected]>
1 Waiman Long <[email protected]>
1 Jan Kara <[email protected]>
1 Gabriel Krisman Bertazi <[email protected]>
1 Andrea Cervesato <[email protected]>
1 Alexey Kodanev <[email protected]>