Tims 0day notes

0day is a performance and regression test system developed by Fengguan Wu of Intel's open source development center.

Puts each test (named a 'job') into a yaml file

command line [edit section]

lkp is a command line tool for executing a test

some command line options are:

test yaml file [edit section]

Here's what a test looks like:

From the file tbench.yaml

In the 'pkg' directory are some PKGBUILD files. This appears to be the package file format for Arch Linux. see https://wiki.archlinux.org/index.php/PKGBUILD

Each test has a 'maker script' that tells how to build and install the test program. See pack/ebizzy for an example.

directory structure [edit section]

Here is the directory structure for lkp-tests:

dependency processing [edit section]

The file include/kernel_selftests has the following content:

test execution [edit section]

job.yaml files are converted into job.sh files for execution by sbin/job2sh.

Items in the yaml file are converted either to environment variables, or to references to setup scripts or test scripts.

See jobs/README.md for details.

monitors [edit section]

Monitors are located in <top_dir>/monitors.

Each one is a shell script. Many are wrappers around existing tools, the output of which is used for the monitor output.

They often use a library <topdir>/lib/wait.sh.

When executed with no interval, they take a snapshot before and after the test.

When executed with an interval, they take a snapshot at the specified interval.

Here's an example, from cpuidle: