Skip to content

LTP 20220121

Compare
Choose a tag to compare
@metan-ucw metan-ucw released this 21 Jan 20:03
· 2367 commits to master since this release

Since the last release 269 patches by 32 authors were merged.

Patch review is what most of the projects struggle with and LTP is no
different. If you can spare some effort helping with the patch review is more
than welcomed.

NOTABLE CHANGES

  • New tests

    • quotactl{08,09} tests for quota info hidden in filesystem.
    • fanotify22 test for FAN_FS_ERROR events by intentionally corrupting a fs image
    • memcontrol02 test for cgroup memory.current and memory.stat
    • memcontrol01 test for cgroup subtree_control and memory controller
    • write06 test if write() works correctly with O_APPEND fd
    • statx08 statx test for the stx_attributes_mask
    • fanotify{20,21} tests for FAN_REPORT_PIDFD
    • irqbalance01 test that tries to assert that IRQ are spread between CPUs reasonably
    • dup207 tests that file offset is correct for both original and dup()ed fds
    • dup206 tests special case where oldfd == newfd
    • ima_conditionals.sh test uid, gid, fowner, and fgroup options added
      in kernel commit 40224c41661b ("ima: add gid support") from v5.16
  • Increased coverage

    • quotactl* tests added support for quotactl_fd and hidden quota files
    • quotaclt* tests also test with vfsv1 format
    • statx01 added check for stx_mnt_id
    • statx01 added check for nlink
    • stat01 added check for nlink
    • finit_module02 added ETXTBSY check
    • epoll_create added two test variants (libc wrapper and raw syscall)
    • creat09 runs on all filesystems now
    • dup202 added check that file mode is same after it has been changed on dup()ed fd
  • The test library process, that watches over timeouts and carries on with the
    test cleanup, now adjusts it's own OOM score so that it's more likely that it
    outlives the child process that runs the test

  • First half of the ltp-aiodio testcases was rewritten and cleaned up

    • the rewritten tests are free of runtest file hacks that were problematic for years
    • the second half should get fixed during the next development cycle
    • the rewritten tests so far are:
      • dio_truncate
      • dio_read (previously ltp-diorh)
      • dio_append
      • dio_sparse
      • aiodio_append
  • 39 tests were rewritten to the new library

  • 'make check' improvements

    • added check if test.tags is properly NULL terminated
    • added check if test global functions and variables are static
    • fixed not to report tst_ prefixed static inline functions
  • The test library gained support for 'known-fail' tag

    • to mark kernel bugs that are unfixed for a long time
    • this is similar to the existing tags
    • the first use of the interface are ustat() tests that are failing on Btrfs
      ever since the introduction of the filesystem
  • The test library gained support for version check when a tool is required to
    be installed on a system, e.g. .needs_cmds = {"mkfs.ext4 >= 1.43.0", NULL} will
    skip the test unless the mkfs.ext4 is present and the version is at least 1.43.0

  • The test library added .supported_archs field to the test_test structure
    which can be used to limit the test to a subset of CPU architectures

  • The test library added .skip_in_compat flag to skip tests in compat (-m32) mode

  • The shell library gained support boolean expressions on kernel .config
    variables

  • New environment variable KCONFIG_SKIP_CHECK was added that allows users to
    skip kernel config checks

  • New environment variable LTP_SINGLE_FS_TYPE was added that can be
    used to limit tests that run against all filesystem to a single one

  • The new library testcases now print environment variables in help (-h)

  • The test metadata are parsed during the build and installed by default now,
    which is another step towards making the test executor smarter.

  • The usual amount of fixes and cleanups

WHAT IS IN THE QUEUE

In-flight patchse include:

  • KVM test infrastructure that would allow us implement KVM regression tests
  • watchqueue (pipe based kernel notification) testsuite
  • futex_waitv tests
  • CGroup testcases and fixes
  • Test runtime API for the test library that would allow us to controll
    testrun runtime explicitly and fix a few tests that run into timeouts
    on older/slower hardware

Unfortunately the runltp-ng is still not included in LTP, we will try to work
on it during the next development cycle as well, but we can't promise it will
be rock stable to be included in the next release either.

NOTABLE CHANGES IN NETWORK TESTS

brought to you by Petr Vorel

  • NFS tests get support for emulating external server activity
  • fix: run exportfs at "server side" in LTP_NETNS case
  • new test: nfs07.sh - NFS directory listing regression

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/20220121

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 20210927..

51  Petr Vorel <[email protected]>
47  Yang Xu <[email protected]>
31  Richard Palethorpe <[email protected]>
24  Joerg Vehlow <[email protected]>
17  Cyril Hrubis <[email protected]>
15  Andrea Cervesato <[email protected]>
14  tangmeng <[email protected]>
 9  Gabriel Krisman Bertazi <[email protected]>
 7  zhanglianjie <[email protected]>
 6  Dai Shili <[email protected]>
 6  Li Wang <[email protected]>
 6  Martin Doucha <[email protected]>
 4  Jan Stancek <[email protected]>
 3  Alex Henrie <[email protected]>
 3  Matthew Bobrowski <[email protected]>
 3  Zhao Gongyi <[email protected]>
 3  sujiaxun <[email protected]>
 2  Krzysztof Kozlowski <[email protected]>
 2  QI Fuli <[email protected]>
 2  Ralph Siemsen <[email protected]>
 2  YiLin.Li <[email protected]>
 2  wenyehai <[email protected]>
 1  Bogdan Lezhepekov <[email protected]>
 1  Egor Petrov <[email protected]>
 1  Fabian Vogt <[email protected]>
 1  Fabrice Fontaine <[email protected]>
 1  Masayoshi Mizuma <[email protected]>
 1  Nikita Yushchenko <[email protected]>
 1  Thadeu Lima de Souza Cascardo <[email protected]>
 1  Wang Kunfeng <[email protected]>
 1  chengweibin <[email protected]>
 1  sujiauxn <[email protected]>

And also thanks to patch reviewers:

git log 20210927.. | grep -Ei '(reviewed|acked)-by:' | sed 's/.*by: //' | sort | uniq -c | sort -n -r

154 Cyril Hrubis <[email protected]>
 71 Petr Vorel <[email protected]>
 29 Li Wang <[email protected]>
 24 Richard Palethorpe <[email protected]>
 12 Amir Goldstein <[email protected]>
 11 Yang Xu <[email protected]>
  9 Martin Doucha <[email protected]>
  3 Tim Bird <[email protected]>
  3 Matthew Bobrowski <[email protected]>
  3 Jan Stancek <[email protected]>
  3 Eric Biggers <[email protected]>
  3 Alexey Kodanev <[email protected]>
  2 Liu Xinpeng <[email protected]>
  2 Andrea Cervesato <[email protected]>
  1 Petr Vorel <[email protected]>
  1 Mimi Zohar <[email protected]>