Test System

runltp
filesystem stress tests
disk I/O tests
memory management stress tests
ipc stress
scheduler tests
commands functional varification tests
system call functional varification tests
networktests.sh
networking related tests
diskio.sh
tests related to floppy and CD-ROM drives

cd /linux/tools/testing/
fault-injection
ktest
kunit
nvdimm
radix-tree
scatterlist
selftests
vsock
make -C selftests
make -C selftests run_tests
"The magical fantasy land of Linux kernel testing" - Russell Currey (LCA 2020): https://www.youtube.com/watch?v=9Fzd6MapG3Y

xfs, ext2, ext4, cifs, btrfs, f2fs, reiserfs, gfs, jfs, udf, nfs, tmpfs

Group name
Description
block
Block layer generic tests
loop
Loopback device tests
meta
blktests self tests
nbd
Network block device driver tests
nvme
NVMe driver tests
nvmeof-mp
NVME-over-fabrics multipath tests
scsi
SCSI layer tests
srp
SCSI RDMA Protocol driver tests
zbd
Zoned block device tests

test suites used by 0-Day performance test and LKP test tool: https://01.org/lkp/documentation/0-day/lkp-test-suites-description

https://kernelci.org/ | Linux Foundation project use LAVA with KernelCI: https://github.com/kernelci/kernelci-core/blob/main/doc/lava.md

https://elinux.org/images/6/6c/Introduction-to-Fuego-JJ58-1.pdf Fuego = (Jenkins + abstraction scripts + pre-packaged tests) inside a container
Introduction Videos:

https://github.com/u-boot/u-boot/tree/master/test/py only for U-Boot (with build support)

https://tbot.tools/ https://github.com/Rahix/tbot allow running tests in an automated setting (CI).

https://github.com/labgrid-project/labgrid#purpose create an abstraction of the hardware control layer needed for testing of embedded systems, automatic software installation and automation during development
  • pytest plugin to write tests for embedded systems connecting serial console or SSH
  • remote client-exporter-coordinator infrastructure to make boards available from different computers on a network
  • power/reset management via drivers for power switches or onewire PIOs
  • upload of binaries via USB: imxusbloader/mxsusbloader (bootloader) or fastboot (kernel)
Labgrid itself is not a testing framework, but is intended to be combined with pytest (and additional pytest plugins).

https://github.com/ci-rt/r4d r4d means 'Remote For Device-under-test' and is an infrastructure for power-control and console access for multiple Linux Boards that should be controlled by a test-infrastructure like jenkins.

https://wiki.yoctoproject.org/wiki/Ptest Ptest (package test) is a concept for building, installing and running the test suites that are included in many upstream packages, and producing a consistent output format for the results. Source: http://git.yoctoproject.org/clean/cgit.cgi/poky/tree/

Created to test stable release candidates https://kerneltests.org/builders

OperatingSystem | Process | Dialogs / String | Telnet

kisskb
Olof's autobuilder: mainline and next for arm, arm64, powerpc
Olof's autobooter: mainline, next, arm-soc
Tegra builds: mainline
Buildbot by Mark Brown: x86_64, arm, arm64 (8 builds)
CKI - used by RedHat
Gentoo Kernel CI
hottest notes
Krzk Samsung-SoC
ktest
Labgrid
LKFT
Opentest
Phoronix
SLAV
syzbot (& syzkaller)
TCF
Xilinx test (aka regression_xlnx)

https://sparse.docs.kernel.org/en/latest/ the semantic parser, provides a compiler frontend capable of parsing most of ANSI C as well as many GCC extensions, and a collection of sample compiler backends, including a static analyzer also called sparse.

https://clang-analyzer.llvm.org/ the analyzer is part of Clang

https://github.com/error27/smatch a semantic parser of source files

Commercial Static Analyzer: https://scan.coverity.com/o/oss_success_stories

https://github.com/kernelslacker/trinity a system call fuzzer which employs some techniques to pass semi-intelligent arguments to the syscalls being called.

https://www.kernel.org/doc/html/latest/dev-tools/kcov.html kcov exposes kernel code coverage information in a form suitable for coverage- guided fuzzing (randomized testing)
Last modified 1yr ago
Copy link
Edit on GitHub
On this page
Compare
Docs
Videos
Test Suites
Linux Test Project
LTP-DDT
Android
dev-tools
Storage
Test Automation Tools
0Day
KernelCI - Python
LAVA - Python
Fuego - Mitsubishi
U-Boot “pytest suite”
tbot - Python
labgrid - Python
r4d - Python
Yocto project / ptest
Kerneltests.org
Robot Framework - Python
More
Static Code Analyzers
Sparse
clang / LLVM
Coccinelle
smatch
Coverity
Fuzzing Tools
Trinity
Syzcaller
kcov - code coverage for fuzzing