Skip to content

Releases: linux-test-project/ltp

LTP 20190115

15 Jan 14:55
Compare
Choose a tag to compare

Since the last release 246 patches by 40 authors were merged.

NOTABLE CHANGES

  • New tests

    • fanotify11 - test for FAN_REPORT_TID
    • fanotify01, fanotify03, fanotify10
      • added coverage for FAN_MARK_FILESYSTEM
    • fanotify03
      • added coverage for mountpoint mark
    • getrlimit03 - test if getrlimit syscalls return consistent data
    • increased coverage for readahead and posix_fadvise on overlayfs
    • execveat01 - functional tests
    • execveat02 - invalid inputs tests
    • statx06 - checks for correct statx timestamps
    • lremovexattr01 - functional tests
    • fremovexattr01 - functional tests
    • fremovexattr02 - invalid inputs tests
    • pt_test - Intel PT full trace test
    • membarier01 - functional tests
    • preadv201 - functional tests
    • preadv202 - invalid inputs tests
    • new open posix conformance tests for strchr, strcpy, strncpy,
  • New regression tests

    • crypto_user01 aka CVE-2018-19854 (previously known as CVE-2013-2547)
    • fanout01 aka CVE-2017-15649
    • fanotify09
      • added coverage for merging events on child subdir
        fixed in b469e7e47c8a "fanotify: fix handling of events on child sub-directory"
    • fanotify10 - test for mount ignore mask
      fixed in 9bdda4e9cf2d fsnotify: fix ignore mask logic in fsnotify()
    • getxattr05
      fixed in 82c9a927bc5d ("getxattr: use correct xattr length")
  • Additional 37 tests were converted to the new test library; with that about
    30% of the LTP syscall testcases have been converted so far

  • The travis build-testing is now done using docker ensuring that latest LTP
    git HEAD builds smoothly on major distributions and architectures

  • The fzsync library intended to trigger kernel races has been rewritten again,
    the code is simpler now and at the same time the probability to hit races
    has increased.

NOTABLE CHANGES IN NETWORK TESTS

brought to you by Petr Vorel

New features/tests:

  • tests for SIT tunnel
  • tests for MPLS labels
  • netstress: add support for SO_BINDTODEVICE
  • added tst_net_run() shell API function
  • nfs tests were rewritten to new API
  • various fixes in dhcp, ipsec, rpc and virt tests
  • removed ftp and ssh tests

CREDITS

Many thanks to the people contributing to this release:

git shortlog -s -e -n 20180926..
41 Petr Vorel pvorel@suse.cz
28 Amir Goldstein amir73il@gmail.com
25 Alexey Kodanev alexey.kodanev@oracle.com
25 Xiao Yang yangx.jy@cn.fujitsu.com
16 Jan Stancek jstancek@redhat.com
13 Cyril Hrubis chrubis@suse.cz
8 Enji Cooper yaneurabeya@gmail.com
8 Stanislav Kholmanskikh stanislav.kholmanskikh@oracle.com
7 Clemens Famulla-Conrad cfamullaconrad@suse.de
6 Cristian Marussi cristian.marussi@arm.com
6 Greg Hackmann ghackmann@google.com
6 Rafael David Tinoco rafael.tinoco@linaro.org
6 Richard Palethorpe rpalethorpe@suse.com
6 Steve Muckle smuckle@google.com
4 Jinhui huang huangjh.jy@cn.fujitsu.com
4 Mandri, Padmashree padmashree.mandri@intel.com
4 Sandeep Patil sspatil@google.com
3 Eric Biggers ebiggers@google.com
3 Yixin Zhang yixin.zhang@intel.com
2 Jason Xing kerneljasonxing@linux.alibaba.com
2 Li Wang liwang@redhat.com
2 Subash Ganesan subash@zilogic.com
1 Allen, John John.Allen@amd.com
1 Ammy Yi ammy.yi@intel.com
1 Hongzhi.Song hongzhi.song@windriver.com
1 Kai Kang kai.kang@windriver.com
1 Keita Suzuki keitasuzuki.park@sslab.ics.keio.ac.jp
1 Kenneth Magic kmagic@google.com
1 Khem Raj raj.khem@gmail.com
1 Lei Yang Lei.Yang@windriver.com
1 Masayoshi Mizuma m.mizuma@jp.fujitsu.com
1 Michael Moese mmoese@suse.de
1 Myungho Jung mhjungk@gmail.com
1 Po-Hsu Lin po-hsu.lin@canonical.com
1 Shaoting Lei leist.fnst@cn.fujitsu.com
1 Sun Lianwen sun_lianwen@163.com
1 Thadeu Lima de Souza Cascardo cascardo@canonical.com
1 Tommi Rantala tommi.t.rantala@nokia.com
1 nixiaoming nixiaoming@huawei.com
1 yangj yangj.fnst@cn.fujitsu.com

And also thanks to patch reviewers:
git log 20180926.. | grep -Ei '(reviewed|acked)-by:' | sed 's/.*by: //' | sort | uniq -c | sort -n -r
86 Cyril Hrubis chrubis@suse.cz
20 Petr Vorel pvorel@suse.cz
13 Li Wang liwang@redhat.com
10 Jan Stancek jstancek@redhat.com
7 Alexey Kodanev alexey.kodanev@oracle.com
4 Xiao Yang yangx.jy@cn.fujitsu.com
3 Richard Palethorpe rpalethorpe@suse.de
1 Steve Muckle smuckle@google.com
1 Richard Palethorpe rpalethorpe@suse.com
1 Jan Kara jack@suse.cz
1 Amir Goldstein amir73il@gmail.com

LTP 20180926

26 Sep 12:13
Compare
Choose a tag to compare

Since the last release 275 patches by 39 authors were merged.

NOTABLE CHANGES

  • New tests

    • statx tests for:
      • basic tests
      • invalid inputs
      • AT_EMPTY_PATH, AT_SYMLINK_NOFOLLOW
      • FS_* flags
      • STATX_ATTR_ENCRYPTED (on ext4)
      • more is on the way
    • mlock2
      • basic tests
      • invalid inputs
    • memfd_create
      • MFD_HUGETLB, MFD_HUGE_2MB, MFD_HUGE_1GB
    • fgetxattr
    • fsetxattr
    • prctl
      • PR_{SET,GET}_CHILD_SUBREAPER
    • madvise
      • MADV_WIPEONFORK, MADV_KEEPONFORK
  • New regression tests

    • mlock203
      b155b4fde5bd mm: mlock: avoid increase mm->locked_vm on mlock() when already mlock2(,MLOCK_ONFAULT)
    • execveat
      355139a8dba4 cap_inode_getsecurity: use d_find_any_alias() instead of d_find_alias()
    • pcrypt_aead01 aka CVE-2017-18075
      d76c68109f37 crypto: pcrypt - fix freeing pcrypt instances
    • shmctl05
      3f05317d9889 ipc/shm: fix use-after-free of shm file via remap_file_pages()
    • realpath01 aka cve-2018-1000001
      fixed by glibc commit 52a713fdd0a3
    • inotify07
      d90a10e2444b fsnotify: Fix fsnotify_mark_connector race
    • fanotify09
      54a307ba8d3c fanotify: fix logic of events on child
    • pty02
      966031f340185 n_tty: fix EXTPROC vs ICANON interaction with TIOCINQ (aka FIONREAD)
    • migrate_pages03
      4b0ece6fa016 mm: migrate: fix remove_migration_pte() for ksm pages
  • msgctl IPC test were redesigned and rewritten

  • ~50 tests were cleaned up and rewritten to the new library API

  • Several network helper libraries and tests has been ported into new API
    (busy poll, DHCP, ipneigh, IPsec, iptables, SCTP, TCP fast open, virt, ...)

  • Many fixes all over the place
  • Removed code

    • pounder21 - broken and wasn't compiled by default for years
  • What didn't make it to this release

    • second rewrite and simplification of the fuzzy sync library
      and this time the user API is much easier to use
    • rewrite of the mempolicy NUMA tests that should finally solve
      all race conditions and random failures

TODO LIST AND ISSUE TRACKER

As noted in the previous release we started to maintain a LTP TODO list in the
form GitHub issues, as expected the list is growing:

missing coverage

But more importantly we are starting to implement testcases based on that list,
recently we added the fsetxattr, fgetxattr, mlock2, prctl, and statx tests and
more is about to come in the near future.

We do have also list of reproducers to be turned into testcases:

reproducer

Lastly but not least I would like to ask everyone to contribute to these lists.
If you have a reproducer or notice missing coverage do not hesitate to open an
issue.

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

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/C-Test-Case-Tutorial
https://github.com/linux-test-project/ltp/wiki/Test-Writing-Guidelines
https://github.com/linux-test-project/ltp/wiki/BuildSystem

Patches, new tests, bugs, comments or questions should go to to our mailing
list at ltp@lists.linux.it.

CREDITS

Many thanks to the people contributing to this release:

git shortlog -s -e -n 20180515..

61  Petr Vorel <pvorel@suse.cz>
31  Xiao Yang <yangx.jy@cn.fujitsu.com>
28  Cyril Hrubis <chrubis@suse.cz>
25  Alexey Kodanev <alexey.kodanev@oracle.com>
18  Jan Stancek <jstancek@redhat.com>
13  Li Wang <liwang@redhat.com>
 9  Alistair Strachan <astrachan@google.com>
 9  Jinhui huang <huangjh.jy@cn.fujitsu.com>
 9  Mylene Josserand <mylene.josserand@bootlin.com>
 8  Yixin Zhang <yixin.zhang@intel.com>
 7  Punit Agrawal <punit.agrawal@arm.com>
 7  Rafael David Tinoco <rafael.tinoco@linaro.org>
 7  Richard Palethorpe <rpalethorpe@suse.com>
 5  Jinhui Huang <huangjh.jy@cn.fujitsu.com>
 4  Sun Lianwen <sunlw.fnst@cn.fujitsu.com>
 4  vaishnavid <vaishnavi.d@zilogic.com>
 3  Michael Moese <mmoese@suse.de>
 3  Sandeep Patil <sspatil@google.com>
 2  Amir Goldstein <amir73il@gmail.com>
 2  Eric Biggers <ebiggers@google.com>
 2  Junchi Chen <junchi.chen@intel.com>
 2  Kewal Ukunde <kewal@zilogic.com>
 2  Wang Long <w@laoqinren.net>
 1  Anton Smorodskyi <asmorodskyi@suse.com>
 1  Chen Rong <chenr.fnst@cn.fujitsu.com>
 1  Christian Lanig <clanig@suse.com>
 1  Eddie.Horng <eddie.horng@mediatek.com>
 1  Fang Guan <fguan322@gmail.com>
 1  Fathi Boudra <fathi.boudra@linaro.org>
 1  Guangwen Feng <fenggw-fnst@cn.fujitsu.com>
 1  He Zhe <zhe.he@windriver.com>
 1  Kenneth Magic <kmagic@google.com>
 1  Po-Hsu Lin <po-hsu.lin@canonical.com>
 1  Stanislav Kholmanskikh <stanislav.kholmanskikh@oracle.com>
 1  Vishnu K <vishnu@zilogic.com>
 1  Yang Shi <yang.shi@linux.alibaba.com>
 1  xiao yang <yangx.jy@cn.fujitsu.com>

And also thanks to patch reviewers:

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

 64 Cyril Hrubis <chrubis@suse.cz>
 36 Jan Stancek <jstancek@redhat.com>
 33 Petr Vorel <pvorel@suse.cz>
 18 Alexey Kodanev <alexey.kodanev@oracle.com>
 17 Li Wang <liwang@redhat.com>
  2 Richard Palethorpe <rpalethorpe@suse.de>
  2 Petr Vorel <petr.vorel@gmail.com>
  1 Xiao Yang <yangx.jy@cn.fujitsu.com>
  1 Naresh Kamboju <naresh.kamboju@linaro.org>
  1 Mimi Zohar <zohar@linux.vnet.ibm.com>
  1 Jan Kara <jack@suse.cz>

LTP 20180515

22 May 12:22
Compare
Choose a tag to compare

Since the last release 297 patches by 38 authors were merged.

NOTABLE CHANGES

  • New testcases:

    • two inotify regression tests for:
      764baba80168 ("ovl: hash non-dir by lower inode for fsnotify")
      31747eda41ef ("ovl: hash directory inodes for fsnotify")

    • sysclt01 a regression test for:
      5ccba44ba118 ("sched/sysctl: Check user input value of sysctl_sched_time_avg")

    • CVE regression tests for:

      • CVE-2017-17053 - ccd5b3235180 ("x86/mm: Fix use-after-free of ldt_struct")
      • CVE-2017-16939 - 1137b5e2529a ("ipsec: Fix aborted xfrm policy dump crash")
      • CVE-2015-3290 - 9b6e6a8334d5 ("x86/nmi/64: Switch stacks on userspace NMI entry")
      • CVE-2017-17052 - 2b7e8665b4ff ("fork: fix incorrect fput of ->exe_file causing use-after-free")
      • CVE-2017-17807 - 4dca6ea1d943 ("KEYS: add missing permission check for request_key() destination")
    • read_all

      Test that aims to stress test /proc, /sys and safe subset of /dev
      filesystems by reading by reading each readable file using several
      threads.

    • The pwritev03 and preadv03 tests with O_DIRECT executed on all supported filesystems.
      (https://github.com/linux-test-project/ltp/wiki/Test-Writing-Guidelines#2214-testing-with-a-block-device)

    • Pids controller tests fixed a race that made them fail sporadically and
      the the coverage was increased.

    • pwrite03, write02

      Write syscall tests for special case with NULL buffer and len 0 where
      the call is expected to return 0 i.e. success.

  • Removed outdated and broken tests

    • sssd daemon test
    • mail command test
    • ht_interrupt -- hyperthreading interrupt balancing test
  • 54 testcases were cleaned up and converted to the new test library

  • The syscalls testrun has been speeded up by about a minute which is 5% of the runtime.

  • Several Android fixes have been applied.

  • New macro for automatic retry with exponential backoff has been added to the
    test library, which should replace all the ad-hoc retry loops we do have all
    around the codebase.

  • IMA (Integrity Measurement Architecture) tests

    • Were rewritten to use new API, updated, and various bugs has been fixed.

    • The most important changes:

      • Avoid running on tmpfs ima_measurements.sh and ima_violations.sh
      • ima_measurements.sh: support new IMA measurement templates, support testing
        most of IMA supported hash algorithms, fix & update iversion check
      • tpm.sh: replace ima_measure with evmctl (external)
      • ima_policy.sh: improve check of policy writability
      • ima_boot_aggregate: fixing event size for modern BIOS

      Many thanks to Mimi Zohar for her review and testing of IMA test cases.

  • Plus the usual number of fixes and cleanups all over the place

NETWORK TESTS

Changelog for network tests brought to you by Peter Vorel.

  • New testcases:

    • for IP_BIND_ADDRESS_NO_PORT, DCCP and UDP ipsec and for UDPLITE protocol
    • regression test sctp_big_chunk aka CVE-2018-5803
    • netstress gained support for IP_BIND_ADDRESS_NO_PORT, SO_ZEROCOPY flags
      and UDPLITE protocol
    • Use libtirpc for all RPC tests
  • Test cases rewritten into new shell API:

    • interface and multicast tests cases
    • in6_02
  • Removed tests cases

    • route{4,6}-ifdown
  • Various fixes and doc cleanups

CREDITS

Many thanks to the people contributing to this release:

git shortlog -s -e -n 20180118..
76 Petr Vorel pvorel@suse.cz
38 Cyril Hrubis chrubis@suse.cz
37 Michael Moese mmoese@suse.de
30 Alexey Kodanev alexey.kodanev@oracle.com
21 Xiao Yang yangx.jy@cn.fujitsu.com
12 yang xu xuyang.jy@cn.fujitsu.com
9 Yixin Zhang yixin.zhang@intel.com
7 Jinhui Huang huangjh.jy@cn.fujitsu.com
7 Richard Palethorpe rpalethorpe@suse.com
6 Jan Stancek jstancek@redhat.com
6 Li Wang liwang@redhat.com
5 Amir Goldstein amir73il@gmail.com
4 Carlo Marcelo Arenas Belon carenas@gmail.com
4 Stanislav Kholmanskikh stanislav.kholmanskikh@oracle.com
3 Petr Vorel petr.vorel@gmail.com
3 Steve Muckle smuckle.linux@gmail.com
2 Anders Roxell anders.roxell@linaro.org
2 Eric Biggers ebiggers@google.com
2 Khem Raj raj.khem@gmail.com
2 Sandeep Patil sspatil@google.com
2 Sebastian Chlad schlad@suse.de
2 xiao yang yangx.jy@cn.fujitsu.com
1 Christian Lanig clanig@suse.com
1 Dmitry Safonov dima@arista.com
1 Erick Reyes erickreyes@google.com
1 Greg Hackmann ghackmann@google.com
1 Harish harish@linux.vnet.ibm.com
1 Hoang Van Tuyen tuyen.hoangvan@toshiba-tsdv.com
1 Hridya Valsaraju hridya@google.com
1 Joe Konno joe.konno@intel.com
1 Lars Persson larper@axis.com
1 Lianwen Sun sunlw.fnst@cn.fujitsu.com
1 Pavel Boldin pboldin@cloudlinux.com
1 Qiao Zhao qiaozqjhsy@gmail.com
1 Xiong Zhou xzhou@redhat.com
1 Yang Pengfei yangpengfei4@huawei.com
1 akodanev akodanev@gmail.com
1 xie hui xieh.jy@cn.fujitsu.com
1 yosun yosun@suse.com

And also thanks to patch reviewers:

git log 20180118.. | grep -Ei '(reviewed|acked)-by:' |
sed 's/.*by: //' | sort | uniq -c | sort -n -r
34 Cyril Hrubis chrubis@suse.cz
15 Petr Vorel pvorel@suse.cz
15 Alexey Kodanev alexey.kodanev@oracle.com
11 Jan Stancek jstancek@redhat.com
7 Richard Palethorpe rpalethorpe@suse.de
4 Li Wang liwang@redhat.com
3 Mimi Zohar zohar@linux.vnet.ibm.com
2 Petr Vorel petr.vorel@gmail.com
2 James Morris james.l.morris@oracle.com
1 yang xu xuyang.jy@cn.fujitsu.com
1 Xiao Yang yangx.jy@cn.fujitsu.com

LTP 20180118

18 Jan 14:44
Compare
Choose a tag to compare

Since the last release 278 patches by 35 authors were merged.

Notable changes for this release include:

  • New tests for:

    • unshare(1) command
    • ioctl07 test for RNDGETENTCNT ioctl()
    • new network MACsec testcases
    • new network IPsec SCTP and DCCP testcases
  • New regression tests for:

  • Fixed tests:

    • brk01 (test rewritten from scratch)
    • sigwaitinfo01 (fixed and enabled)
    • openposix aio testcases (uninitialized aiocb)
    • many smaller fixes
  • Removed tests:

    • invalid openposix pthread_barrier_wait_6-1 test
    • tcp_cmds tests for rwho, echo, finger, and rdist.
  • The test library gained support to run a particular test against
    different filesystems including FUSE filesystems such as NTFS or exFAT. The
    mkfs and kernel/FUSE support for a particular filesystem must be in-place
    otherwise the tests will skip it automatically.

    Some of the filesystem specific syscall tests such as fallocate() are
    executed this way now. We also have a new test that fills up filesystem
    using several threads and expects the syscalls to fail gracefully.

  • The fuzzy synchronization library that is used to trigger races mostly in CVE
    testcases was rewritten to use one thread instead of starting a thread on
    each iteration, which is not only faster but also more stable since we
    introduce less random jitter to the timing measurements this way.

  • Various fixes and enhancements for the network testcases.

  • Support for NUMA API older than v2 was dropped from the testcases.

  • The configure script now correctly detects devel libraries on -m32 build.

  • Another large scale cleanup using coccinelle was done on the code base.

    We transformed patterns such as:

    if (scall(...) < 0)
    tst_brkm(TBROK, ...);

    into:

    SAFE_SCALL();

    Which will produce unified and more verbose error reporting in case
    that the call to scall() will fail.

  • The runltp script now lists test skipped by the skipfile parameter as skipped
    in the testrun results, these were missing from it previously.

  • 24 testcases were cleaned up and converted to the new test library

  • The usual amount of fixes all over the code base

LTP 20170929

29 Sep 15:24
Compare
Choose a tag to compare

Since the last release 290 patches by 39 authors were merged.

Notable changes for this release include:

  • New tests for:

    • copy_file_range()
    • splice() between pipes and sockets
    • splice() between two pipes
    • clone() with CLONE_NEWNET
    • msync() with mmaped file
    • getsockopt() with SO_PEERCRED
    • fanotify() with FAN_CLOEXEC
    • dynamic_debug tracing
    • basic gdb test
    • combination of OFD and POSIX locks on a file
  • New regression tests for:

    • fanotify() 96d41019e3ac and 05f0e38724e8
    • add_key() 5649645d725c
    • fcntl() 086e774a57fb
    • sched/autogroup 18f649ef3441
    • memcg https://bugzilla.redhat.com/show_bug.cgi?id=1168185
    • vdso permissions b6558c4a2378 and e5b97dde514f
    • keyctl() 63a0b0509e70
    • numa MPOL_PREFERRED policy 0867a57c
  • Removed tests:

    • long broken dmapi testsuite
  • 66 testcases were cleaned up and converted to the new test library

  • KSM (kernel samepage merging) test should be race-free now

  • So far if only small part of a test reported skipped status the overall
    test status was reported as skipped as well. Now if test reports both
    sucessful and skipped results the overall status is reported as suscessful.

  • Timer mesurement library code was introduced

    • all syscalls that use kernel timers are measured in a unified way
    • we take much more samples and use discarded mean to get rid of outliners
    • the threshold is now defined in the library and can be easily adjusted
    • for more information see:
      c459654
  • Also effort to convert CVE reproducers into LTP testcases started to gain momentum

    • It starts by introducing thread synchronization library that auto-tunes a
      spin-in-a-place delay so that we execute two critical sections of code at
      the same time, which makes tests based on races much more faster and
      stable in reproducing the bugs.

    • So far implemented CVE tests include:

      Note that a few of the testcases were implemented in the previous
      release as well but these were not counted as CVE related.

  • The ltp-pan testrunner that executes LTP testcases marks test start in kernel
    log, which helps with pairing LTP testcase with a kernel trace.

  • There is new step-by-step C test tutorial at:
    https://github.com/linux-test-project/ltp/wiki/C-Test-Case-Tutorial

  • A few EROFS related testcases now use read-only tmpfs instead of the loopback
    based device, which saves up to half of a minute of runtime per such testcase.
    The rest of such testcases will be converted after the release.

  • The nfsv4 locktest source has been translated from French.

  • Many fixes in numa testcases.

  • Many fixes in network testcases.

  • The usuall amount of fixes all over the codebase

LTP 20170516

16 May 15:38
Compare
Choose a tag to compare

Since the last release 264 patches by 28 authors were merged.

Notable changes are:

  • New tests for

    • quotaclt() regression test
    • quotactl() Q_XGETNEXTQUOTA
    • lseek() SEEK_HOLE and SEEK_DATA
    • keyctl() regression tests
    • memfd_create() tests
    • madvise() MADV_FREE, MADV_DONTDUMP, MADV_HWPOISON
    • recvmsg() regression test
    • getxattr() regression test
    • ioctl() BLKGETSIZE/BLKGETSIZE64, BLKRAGET/BLKRASET, BLKROSET/BLKROGET
    • move_pages() regression test
  • Additional 47 testcases were cleaned up and converted to the new test library.

  • SAFE_MACROS() can now be used in test cleanup which significantly simplifies
    test cleanup functions.

  • Numa memory migration testcases were cleaned up and fixed.

  • Minimal testing device size was bumped to 256MB in order to support modern
    filesystems.

  • Initiall ANDROID support was merged in.

  • Test output is now colorized in case that we print to terminal.

  • The usuall amount of fixes all around the place

LTP 20170116

16 Jan 15:58
Compare
Choose a tag to compare

Since the last release 211 patches by 28 authors were merged.

Notable changes:

  • New testcases for:
    • flistxattr()
    • listxattr()
    • llistxattr()
    • getpriority()
    • setpriority()
    • sendto()
    • dirtyc0w
    • vti and geneve tunnel tests (network tests)
  • New shell test library was added and many old and broken tests were
    rewritten to make use of it
  • 36 syscall testcases were converted to the new library
  • Many cases of bashism were fixed
  • Experimental support for network namespaces has been added into network
    tests, which means that these test can now be optionally executed on a
    single testing machine
  • LTP compiled for 32bit should now run flawlessly on 64bit kernel
    which is useful for testing the 32bit compat syscall interface
  • Usuall amount of cleanups, fixes and speedups

LTP 20160920

20 Sep 09:06
Compare
Choose a tag to compare

Since the last release 236 patches by 28 authors were merged.

Notable changes:

o New testcases

  • tracepath, clockdiff, arpping, ping, wc, insmod
  • ftrace
  • access()
  • fallocate(FALLOC_FL_INSTERT_RANGE)
  • kcmp()
  • lgetxattr()
  • sched_setscheduler()
  • epoll_ctl()
  • sbrk() regression test
  • dio_sparse added direct I/O regression test
    (https://patchwork.ozlabs.org/patch/622065/)

o Rewritten/cleaned up tests

  • waitpid syscall testcases
  • NFS tests
  • ftrace tests

o More work on memory cgroup testcases

  • a lot of cleanups, big tests were split into smaller ones
  • implemented proper synchronization primitives between processes
    which saves a few minutes on the test execution time

o More work on the new test API

  • test is executed in child processes, parent process watches for timeout,
    does cleanup, reports results, etc.
  • Ctrl+C kills all subprocesses correctly and the parent process runs cleanup
  • new command line option parsing helpers
  • 25 testcases were cleaned up and rewritten to use the new test API

o New EXPECT_PASS and EXPECT_FAIL helpers in shell library

o New shell wrappers for checkpoint (futex based) synchronization primitives

o New tst_su wrapper (that makes sure that path to LTP binaries is in $PATH)

o Open Posix Testsuite changes

  • parallel build has been fixed
  • the build process now uses the top level configure parameters
    (CC, CFLAGS, LDLIBS, LDFLAGS)

o And usuall amount of cleanups, fixes, and speedups.

LTP 20160510

10 May 12:32
Compare
Choose a tag to compare

Since the last release 169 patches by 24 authors were merged.

Notable changes are:

  • New C library test API that significantly eases test writing

    This is the end result of last few years of cleanups and fixes. Most of the
    common code has been moved to the library which both helps to avoid common
    mistakes and lets the programmer concentrate on test itself. It also fixed
    long standing problems with thread safety, simplified test result propagation
    from child processes, fixed problems with cleanup callback, etc. If you ever
    given up on writing a LTP testcase because the test API was incomplete and
    difficult to use you should really reconsider now.

    The old and new test API will coexistent for a while until all old testcases
    are converted, which will take quite some time. New test are written using
    the new API only.

    You can have a quick look at new/converted tests to get a feel for the new API:

    https://github.com/linux-test-project/ltp/blob/master/testcases/kernel/syscalls/recvmsg/recvmsg02.c
    https://github.com/linux-test-project/ltp/blob/master/testcases/kernel/syscalls/creat/creat06.c

    Or have a look at updated documentation at:

    https://github.com/linux-test-project/ltp/wiki/Test-Writing-Guidelines#22-writing-a-test-in-c

  • New syscall tests for:

    • request_key()
    • preadv()
    • pwritev(),
    • fcntl() + F_OFD_* locks
    • personality()
    • removexattr()
    • llistxattr()
    • epoll_pwait(),
    • epoll_wait()
    • open() + O_TMPFILE

    And regression tests for:

    • madvise() + MADV_WILLNEED
    • recvmsg() + MSG_PEEK
  • Rewritten network stress tests

  • New test for lsmod

  • Usual amount of fixes

    • fixed file corruptions with ltp-pan
    • added a few return value checks for fork() where the value is later passed
      to kill() resulting in call to kill(-1, ...) if fork() failed
    • a few more skipped test on Btrfs on unsupported/unimplemented functionality
    • fixed test result propagation in five fcntl testcases
    • much more...

LTP 20160126

26 Jan 12:53
Compare
Choose a tag to compare

Since the last release 191 patches by 29 authors were merged.

Notable changes are:

  • Rewritten and new cgroup tests for cpuacct and pids controllers
  • Rewritten basic cgroup functional and stress tests
  • New userns07 test for user namespaces
  • New syscall tests for:
    • renameat2()
    • sched_getattr()
    • sched_setattr()
    • kcmp()
    • fcntl(fd, F_SETLEASE)
    • preadv()
    • pwritev()
  • New regression test for:
    • signal()
    • mmap() + hugepages,
    • shmget()/shmat() + hugepages
  • Open Posix pthread_create() tests were partially rewritten and
    no longer fails on machines with > 4 CPUS
  • New tests for mkfs, mkswap, and which utilities
  • New tests for kernel input stack (utilizing uinput)
  • Fixes in nfs tests and IPV6 support
  • New test for dctcp congestion control algorithm