This page is a dumping ground for ideas for new tests that could be added to Fuego.
|
{{TableOfContents}}
This page is a dumping ground for ideas for new tests that could be added to Fuego.
|
Try to keep the tests in categories as shown below.
= Desired system tests overview =
Fuego is a system test framework.
|
Try to keep the tests in categories as shown below.
= Desired system tests overview =
Fuego is a system test framework.
|
Here are some tests that are good for determining overall system health:
* LTP system call test (already in Fuego)
* LTP posix test suite (already in Fuego)
* LSB-FHS - Linux Standard Base Filesystem Hierarchy Standard test
* See https://www.opengroup.org/testing/lsb-fhs/
|
Here are some tests that are good for determining overall system health:
* LTP system call test (already in Fuego)
* LTP posix test suite (already in Fuego)
* LSB-FHS - Linux Standard Base Filesystem Hierarchy Standard test
* See https://www.opengroup.org/testing/lsb-fhs/
|
|
== Things to check in a newly created product ==
After a change to the kernel or software stack (Linux distribution) on
a product, the following items should be checked:
|
- interrupts are working (at correct or expected rate)
* modules that were expected are loaded correctly
* file systems were mounted with correct permissions and attributes
* busybox or toybox has all needed sub-commands
* shell has needed features (should be part of posix test, but I suspect it's not)
* kselftest - for kernel features
* libraries that were expected are present
|
* interrupts are working (at correct or expected rate)
* modules that were expected are loaded correctly
* file systems were mounted with correct permissions and attributes
* busybox or toybox has all needed sub-commands
* shell has needed features (should be part of posix test, but I suspect it's not)
* kselftest - for kernel features
* libraries that were expected are present
|
|
= Tests from other distros or projects =
Some existing Linux distributions or project have their own selection
of tests, for the package they include. Here are some candidate
project to get test ideas from (if not the tests themselves).
|
https://gitlab.apertis.org/pkg/apertis-tests.git
|
== Apertis tests ==
See https://gitlab.apertis.org/pkg/apertis-tests.git
|
https://git.automotivelinux.org/src/qa-testdefinitions/tree/common/scripts
|
== AGL tests ==
See https://git.automotivelinux.org/src/qa-testdefinitions/tree/common/scripts
|
https://git.automotivelinux.org/src/qa-testdefinitions/tree/common/scripts/busybox.sh
|
=== busybox presence test ===
see https://git.automotivelinux.org/src/qa-testdefinitions/tree/common/scripts/busybox.sh
|
https://git.automotivelinux.org/src/qa-testdefinitions/tree/common/scripts/service-check.sh
|
=== service availability test ===
https://git.automotivelinux.org/src/qa-testdefinitions/tree/common/scripts/service-check.sh
|
https://wiki.linuxfoundation.org/civilinfrastructureplatform/ciptesting/centalisedtesting
|
== CIP tests ==
For overall testing strategy, see https://wiki.linuxfoundation.org/civilinfrastructureplatform/ciptesting/centalisedtesting
|
Tests are at: https://gitlab.com/cip-project/cip-testing/cip-kernel-tests
|
Tests are at: https://gitlab.com/cip-project/cip-testing/cip-kernel-tests
|
Tests are at: https://gitlab.com/cip-project/cip-testing/test-definitions/-/tree/master/automated/linux
|
Tests are at: https://gitlab.com/cip-project/cip-testing/test-definitions/-/tree/master/automated/linux
|
|
== CKI (RedHat) tests ==
|
|
== Debian tests ==
|
|
== Yocto Project tests (ptests?) ==
|
http://www.openvas.org/
|
= Tests by technology area or subsystem
== Security tests ==
=== OpenVAS ===
* check out OpenVAS - a tool that checks for CVEs (from OSSJ)
* see http://www.openvas.org/
|
https://github.com/clearlinux/cve-check-tool (last updated 5 years ago)
* For yocto project, see https://git.yoctoproject.org/poky/tree/meta/classes/cve-check.bbclass
|
=== cvecheck ===
* see https://github.com/clearlinux/cve-check-tool (last updated 5 years ago)
* For yocto project, see https://git.yoctoproject.org/poky/tree/meta/classes/cve-check.bbclass
|
https://github.com/CISOfy/lynis
|
=== Lynis ===
Lynis is a vulnerability scanner for Linux systems.
* see https://github.com/CISOfy/lynis
|
https://github.com/gormanm/mmtests
|
== Memory ==
=== mmtests ===
mmtests by Mel Gorman
* https://github.com/gormanm/mmtests
|
|
== filesystem ==
=== xfstests ===
xfstests seems to be the new standard for measuring Linux file system
performance. We should include this test in fuego.
|
See the following for more information:
* https://git.kernel.org/cgit/fs/xfs/xfstests-dev.git/
* clone with 'git clone git://git.kernel.org/pub/scm/fs/xfs/xfstests-dev.git'
* I think this is the main upstream repository for xfstests (the repository at http://oss.sgi.com/ has been deprecated)
* An automated xfstests infrastructure using kvm
* Ted Ts'o's work on automating xfstests
* Toward better testing
* Dave Chimmer's report on the status of xfstests at an event in 2014
|
See the following for more information:
* https://git.kernel.org/cgit/fs/xfs/xfstests-dev.git/
* clone with 'git clone git://git.kernel.org/pub/scm/fs/xfs/xfstests-dev.git'
* I think this is the main upstream repository for xfstests (the repository at http://oss.sgi.com/ has been deprecated)
* [[https://lwn.net/Articles/592783/|An automated xfstests infrastructure using kvm]]
* Ted Ts'o's work on automating xfstests
* [[https://lwn.net/Articles/591985/|Toward better testing]]
* Dave Chimmer's report on the status of xfstests at an event in 2014
|
|
== block layer performance measurement ==
Possibly something simple like 'time dd ...' is useful for catching
some things (and it's short).
|
Here is a post from Linus Walleij about using a simple dd to measure block layer
performance. He found a regression of performance using the MQ block layer
scheduler, using this.
|
Here is a post from Linus Walleij about using a simple dd to measure block layer
performance. He found a regression of performance using the MQ block layer
scheduler, using this.
|
I got blk-mq running for MMC/SD today and I see a gross performance
regression, from 37 MB/s to 27 MB/s on Ux500 7.38 GB eMMC
with a simple dd test:
|
{{{
I got blk-mq running for MMC/SD today and I see a gross performance
regression, from 37 MB/s to 27 MB/s on Ux500 7.38 GB eMMC
with a simple dd test:
|
BEFORE switching to MQ:
|
BEFORE switching to MQ:
|
time dd if=/dev/mmcblk3 of=/dev/null bs=1M count=1024
1073741824 bytes (1.0GB) copied, 27.530335 seconds, 37.2MB/s
real 0m 27.54s
user 0m 0.02s
sys 0m 7.56s
|
time dd if=/dev/mmcblk3 of=/dev/null bs=1M count=1024
1073741824 bytes (1.0GB) copied, 27.530335 seconds, 37.2MB/s
real 0m 27.54s
user 0m 0.02s
sys 0m 7.56s
|
AFTER switching to MQ:
|
AFTER switching to MQ:
|
time dd if=/dev/mmcblk3 of=/dev/null bs=1M count=1024
1073741824 bytes (1.0GB) copied, 37.170990 seconds, 27.5MB/s
real 0m 37.18s
user 0m 0.02s
sys 0m 7.32s
|
time dd if=/dev/mmcblk3 of=/dev/null bs=1M count=1024
1073741824 bytes (1.0GB) copied, 37.170990 seconds, 27.5MB/s
real 0m 37.18s
user 0m 0.02s
sys 0m 7.32s
|
I will however post my hacky patch as a RFD to the blockdevs and
the block maintainers, along with the numbers and a speculation
about what may be causing it. asynchronous requests (request
pipelining) is one thing, another thing is front/back merge in
the block layer I guess.
}}}
|
I will however post my hacky patch as a RFD to the blockdevs and
the block maintainers, along with the numbers and a speculation
about what may be causing it. asynchronous requests (request
pipelining) is one thing, another thing is front/back merge in
the block layer I guess.
}}}
|
https://lists.linuxfoundation.org/pipermail/automotive-discussions/2016-December/003056.html
|
== Bus testing ==
=== serial port ===
=== i2c ===
=== USB testing ===
=== CAN bus testing ===
From agl-discussions list Dec 13: https://lists.linuxfoundation.org/pipermail/automotive-discussions/2016-December/003056.html
|
I'm interested your benchmark amb can data.
http://docs.automotivelinux.org/docs/apis_services/en/dev/reference/iotbzh2016/signaling/AGL-AppFW-CAN-Signaling-Benchmark.pdf
|
I'm interested your benchmark amb can data.
http://docs.automotivelinux.org/docs/apis_services/en/dev/reference/iotbzh2016/signaling/AGL-AppFW-CAN-Signaling-Benchmark.pdf
|
I want to test amb d-bus can data benchmark,
So can you share your used "can data" and "amd configuration" ?
|
I want to test amb d-bus can data benchmark,
So can you share your used "can data" and "amd configuration" ?
|
This test apparently has a CAN packet injector, written by Cogent.
|
This test apparently has a CAN packet injector, written by Cogent.
|
http://connect.linaro.org/resource/bud17/bud17-512/
and an lwn.net report on it here: https://lwn.net/Articles/717076/
|
= Miscellaneous =
== year 2038 test ==
Arnd Bergmann is a leading kernel expert on this topic. He gave a talk
at Linaro Connect 2017 in Budapest. See his session at:
http://connect.linaro.org/resource/bud17/bud17-512/
and an lwn.net report on it here: https://lwn.net/Articles/717076/
|
There's a page with some very small test snippets at:
http://maul.deepsky.com/~merovech/2038.html
|
There's a page with some very small test snippets at:
http://maul.deepsky.com/~merovech/2038.html
|
https://elinux.org/images/5/50/OSS-EU22-MC-PPT-ELC-linux-next-testing.pdf
|
== list of tests from presentations ==
=== ELCE 2022: linux next testing ===
See https://elinux.org/images/5/50/OSS-EU22-MC-PPT-ELC-linux-next-testing.pdf
|
From slide 13:
* modetest, ifconfig, ping, rtcwake
* inspect /sys/kernel/debug/devices_deferred
* From Marek's diagram:
* boot, bash, defer, rtc0, rtc1, fbtest, ping, wifi, bt, alsa, cpu_hp, sleep, sleep2, ping2, reboot, off
|
From slide 13:
* modetest, ifconfig, ping, rtcwake
* inspect /sys/kernel/debug/devices_deferred
* From Marek's diagram:
* boot, bash, defer, rtc0, rtc1, fbtest, ping, wifi, bt, alsa, cpu_hp, sleep, sleep2, ping2, reboot, off
|
|
=== ELCE 2022: Growing a lab for upstream testing
This talk was about Collabora's KernelCI testing lab.
|
See https://elinux.org/images/5/5c/ELCEU2022_Growing_a_Lab_for_Automated_Upstream_Testing.pdf
|
See https://elinux.org/images/5/5c/ELCEU2022_Growing_a_Lab_for_Automated_Upstream_Testing.pdf
|
From slide 27:
* Test suites:
* dEQP, Khronos GL and VK CTS, Piglit, trace replaying for OpenGL, Vulkan and
Direct3D, Skqp, va-utils
|
From slide 27:
* Test suites:
* dEQP, Khronos GL and VK CTS, Piglit, trace replaying for OpenGL, Vulkan and
Direct3D, Skqp, va-utils
|
http://kernel.ubuntu.com/~cking/stress-ng/
|
= stress tests =
Should probably add stressng
* http://kernel.ubuntu.com/~cking/stress-ng/
|
|
= kernel tests =
== kselftest ==
|
|
== kernelci ==
* build test
* boot test
|
|
== device driver tests ==
Texax Instruments has a project (under LTP?) called the "Device Driver Tests"
aka DDT.
|
See http://processors.wiki.ti.com/index.php/LTP-DDT
|
See http://processors.wiki.ti.com/index.php/LTP-DDT
|
|
= Tests from other test frameworks =
== 0day ==
Figure out a way to run all existing 0day tests.
|
(known by Intel as Linux Kernel Performance (LKP) tests)
|
(known by Intel as Linux Kernel Performance (LKP) tests)
|
See https://github.com/intel/lkp-tests
|
See https://github.com/intel/lkp-tests
|
https://lkft.linaro.org/tests/
|
== LKFT ==
For LKFT's tests, see https://lkft.linaro.org/tests/
|
|
== kernelci ==
|
|
== syzbot ==
|
https://static.linaro.org/connect/lvc21/presentations/lvc21-202.pdf
|
== CompassCI ==
See https://static.linaro.org/connect/lvc21/presentations/lvc21-202.pdf
|
Source code at: https://gitee.com/openeuler/compass-ci
|
Source code at: https://gitee.com/openeuler/compass-ci
|
https://openbenchmarking.org/
|
== Phoronix Test Suite ==
See https://openbenchmarking.org/
|