Ferro's Gitbook
  • README
  • DevOps
    • Grafana_Cloud
  • OpenWrt
    • DHCP_DNS
    • GLiNet
    • boot
    • captive_portal
    • luci
    • mwan3
    • radius
    • theme
    • wireless
  • apps
    • web
  • BSD
    • Mac
  • Cloud
    • aws
    • azure
    • cf
    • gcp
    • github
    • ibm_bluemix
    • Pricing
  • container
    • docker
    • Kubernetes
    • podman
  • db
    • InfluxDB
    • loki
    • MySQL & MariaDB
    • Oracle
    • PostgreSQL
  • dev
    • AHK
    • BI
    • LBS
    • ML
    • android
    • editor
    • flutter_web
    • git
    • go
    • HTML5/BS
    • j2ee
    • js
    • js_grid
    • js_vue
    • jupyter
    • ocaml
    • powershell
    • py
    • py_GUI
    • Django
    • shell
    • snippets
    • uni
    • vba
    • wechat.zh
    • wechat_mp.zh
  • elec
    • 3D Printing
    • AC
    • MOSFET
    • battery
    • boost
    • bulk
    • metal
    • simulator
  • hw
    • GPU
    • PCI
    • arduino
    • Bluetooth
    • ent
    • Pinout
    • x86_AMD
    • x86_intel
  • linux
    • Test System
    • X
    • arch
    • fs
    • kernel
    • Memory
    • nw
    • Linux Services
    • Systemd
    • text
  • ms
    • vscode
    • windows
    • wsl
  • multimedia
    • Blender
    • audio
    • blender
    • graphics
    • home
  • nw
    • L3
    • L3_IPv6
    • SDN
    • VPN
    • dns
    • hw
    • Low Level
    • mikrotik
    • mwan
    • Openflow
    • OVS
    • pfsense
    • ppp
    • proxy
    • tsocks
    • pxe
    • Security
    • TCP
  • phone
    • Mi
    • android
  • Storage(SW)
  • vt
    • Intel GVT-g
    • PVE
    • QEMU
    • VDI
    • hyper-v
    • kube
    • libvirt
    • OpenStack
  • Web
    • IBM_MQ
    • IBM_Websphere
    • SSL
    • Apache/IBM_IHS
    • blockchain
    • caddy
    • j2ee
    • nginx
    • static_site
Powered by GitBook
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

Was this helpful?

Edit on Git
  1. linux

Test System

PreviouslinuxNextX

Last updated 4 years ago

Was this helpful?

Compare

Docs

Videos

Test Suites

Linux Test Project

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

LTP-DDT

Android

dev-tools

Selftests

cd /linux/tools/testing/
fault-injection  
ktest  
kunit  
nvdimm  
radix-tree  
scatterlist  
selftests  
vsock

make -C selftests
make -C selftests run_tests

KUnit - Kernel Unit Testing Framework

Storage

xfstests

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

blktests

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 Automation Tools

0Day

KernelCI - Python

LAVA - Python

Fuego - Mitsubishi

Introduction Videos:

U-Boot “pytest suite”

tbot - Python

labgrid - Python

  • 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).

r4d - Python

Yocto project / ptest

Kerneltests.org

Robot Framework - Python

OperatingSystem | Process | Dialogs / String | Telnet

More

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)

Static Code Analyzers

Sparse

clang / LLVM

Coccinelle

smatch

Coverity

Fuzzing Tools

Trinity

Syzcaller

kcov - code coverage for fuzzing

(2016) (2017)

introduce multiple frameworks available to test your Embedded Linux System and compare the use-cases (2018) Slide:

LTP-DDT focuses on embedded device driver tests.

"The magical fantasy land of Linux kernel testing" - Russell Currey (LCA 2020):

test suites used by 0-Day performance test and LKP test tool:

| Linux Foundation project use LAVA with KernelCI:

Linaro Automated Validation Architecture | Source: Docker:

Fuego = (Jenkins + abstraction scripts + pre-packaged tests) inside a container

Source:

53min

28min

only for U-Boot (with build support)

allow running tests in an automated setting (CI).

create an abstraction of the hardware control layer needed for testing of embedded systems, automatic software installation and automation during development

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.

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:

Created to test stable release candidates

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.

the analyzer is part of Clang

a semantic parser of source files

Commercial Static Analyzer:

Paper:

a system call fuzzer which employs some techniques to pass semi-intelligent arguments to the syscalls being called.

Net:

USB:

kcov exposes kernel code coverage information in a form suitable for coverage- guided fuzzing (randomized testing)

https://elinux.org/Testing
https://elinux.org/Test_Systems#Test_Projects
https://elinux.org/images/9/9f/Linux-Kernel-Testing-Where-are-we.pdf
http://events17.linuxfoundation.org/sites/events/files/slides/PRE-trunk-ELCE-Automation-beyond-Testing_1.pdf
https://www.youtube.com/watch?v=NRywFwe0uwU
https://elinux.org/images/0/08/Primer-Testing-Your-Embedded-System-What-is-a-ptest-Lava-Fuego-KernelCI-and...-Jan-Simon-Moeller-The-Linux-Foundation.pdf
https://github.com/linux-test-project/ltp/wiki
http://ltp.sourceforge.net/documentation/how-to/ltp.php#_3.2
https://software-dl.ti.com/processor-sdk-linux/esd/docs/latest/AM335X/linux/Foundational_Components_Kernel_LTP-DDT_Validation.html
https://android.googlesource.com/platform/external/ltp/
https://www.kernel.org/doc/html/latest/dev-tools/
https://www.kernel.org/doc/html/latest/dev-tools/kselftest.html
https://www.youtube.com/watch?v=9Fzd6MapG3Y
https://www.kernel.org/doc/html/latest/dev-tools/kunit/index.html
https://kernel.googlesource.com/pub/scm/fs/ext2/xfstests-bld/+/HEAD/Documentation/what-is-xfstests.md
https://github.com/osandov/blktests
https://zonedstorage.io/tests/blktests/
https://01.org/lkp/documentation/0-day/lkp-test-suites-description
https://kernelci.org/
https://github.com/kernelci/kernelci-core/blob/main/doc/lava.md
https://www.lavasoftware.org/
https://git.lavasoftware.org/lava/lava
https://github.com/kernelci/lava-docker/
https://elinux.org/images/6/6c/Introduction-to-Fuego-JJ58-1.pdf
https://elinux.org/images/d/d4/ELCE-2016-Continuous-Integration-and-Autotest-Environment-using-Fuego_Master.pdf
https://bitbucket.org/fuegotest/
https://www.youtube.com/watch?v=AueBSRN4wLk
https://www.youtube.com/watch?v=2bSqzhTxLdU
https://github.com/u-boot/u-boot/tree/master/test/py
https://tbot.tools/
https://github.com/Rahix/tbot
https://github.com/labgrid-project/labgrid#purpose
https://github.com/ci-rt/r4d
https://wiki.yoctoproject.org/wiki/Ptest
http://git.yoctoproject.org/clean/cgit.cgi/poky/tree/
https://kerneltests.org/builders
http://robotframework.org/robotframework/#user-guide
http://fuegotest.org/wiki/Other_test_systems
https://elinux.org/Test_Stack_Survey#Responses
https://www.kernel.org/doc/html/latest/dev-tools/sparse.html
https://sparse.docs.kernel.org/en/latest/
https://clang-analyzer.llvm.org/
https://coccinelle.gitlabpages.inria.fr/website/
https://github.com/error27/smatch
https://scan.coverity.com/o/oss_success_stories
https://ftp.cs.wisc.edu/paradyn/technical_papers/fuzz.pdf
https://github.com/kernelslacker/trinity
https://github.com/google/syzkaller/blob/master/docs/internals.md
https://github.com/google/syzkaller/blob/master/docs/linux/external_fuzzing_network.md
https://github.com/google/syzkaller/blob/master/docs/linux/external_fuzzing_usb.md
https://www.kernel.org/doc/html/latest/dev-tools/kcov.html
https://www.netbsd.org/~kamil/Maciej_Grochowski-FS_Fuzzing_EuroBSDCon2019.pdf
Compare
Docs
Videos
Test Suites
Linux Test Project
LTP-DDT
Android
dev-tools
Selftests
KUnit - Kernel Unit Testing Framework
Storage
xfstests
blktests
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