FrontPage 

Fuego 1.0 wiki

Login

Tims 0day notes in split format

0day is a performance and regression test system developed by Fengguan Wu of Intel's open source development center.
0day is a performance and regression test system developed by
Fengguan Wu of Intel's open source development center.
 * https://01.org/lkp/documentation/0-day-test-service
 * https://github.com/fengguang/lkp-tests.git
Puts each test (named a 'job') into a yaml file
Puts each test (named a 'job') into a yaml file
lkp is a command line tool for executing a test
lkp is a command line tool for executing a test
some command line options are: * lkp install <test_package> * ls $LKP_SRC/jobs to see available jobs * lkp split-job <test_package> * lkp run * lkp result <testname>
some command line options are:
 * lkp install <test_package>
   * ls $LKP_SRC/jobs to see available jobs
 * lkp split-job <test_package>
 * lkp run
 * lkp result <testname>
Here's what a test looks like:
Here's what a test looks like:
From the file tbench.yaml {{{#!YellowBox suite: tbench testcase: tbench category: benchmark
From the file tbench.yaml
{{{#!YellowBox
suite: tbench
testcase: tbench
category: benchmark
# upto 40% CPU cycles may be used by latency stats disable_latency_stats: 1
# upto 40% CPU cycles may be used by latency stats
disable_latency_stats: 1
nr_threads: 100%
nr_threads: 100%
cluster: cs-localhost
cluster: cs-localhost
if role server: tbench-server:
if role server:
  tbench-server:
if role client: tbench: }}}
if role client:
  tbench:
}}}
In the 'linpack' directory are some PKGBUILD files. This appears to be the package file format for Arch Linux.
In the 'linpack' directory are some PKGBUILD files.  This appears to be
the package file format for Arch Linux.
Each test has a 'maker script' that tells how to build and install the test program. See pack/ebizzy for an example.
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]

= directory structure =
Here is the directory structure for lkp-tests:
 * allot
 * bin
 * cluster
 * daemon
 * distro
 * doc
 * etc
 * filters
 * hosts
 * include
 * '''jobs''' - has parameters for a particular execution of the test program (similar to fuegos specs and plans) 
 * lib
 * lkp-exec
 * monitors
 * '''pack''' - has the maker script which does the fetch, build, install for a test program
 * params
 * pkg
 * plot
 * repo
 * rootfs
 * sbin
 * setup
 * spec
 * '''stats''' - has the results parser for each test - output is JSON
 * '''tests''' - has the main test script for each test
 * tmp
 * tools

dependency processing [edit section]

= dependency processing =
 * in lkp-tests/tests/pack-dep - check_shared_package
  • in jobs/ftrace_onoff.yaml:need_memory: 2G * in jobs/phoronix-test-suite-neex.yaml:need_x true * in include/ndctl:need_kernel_headers: true * in include/ltp:need_kconfig: CONFIG_BLK_DEV_LOOP * in filters/need_cpu: if (( need_cpu > nr_cpu )); then * in jobs/README.md: need_*
 * in jobs/ftrace_onoff.yaml:need_memory: 2G
 * in jobs/phoronix-test-suite-neex.yaml:need_x true
 * in include/ndctl:need_kernel_headers: true
 * in include/ltp:need_kconfig: CONFIG_BLK_DEV_LOOP
 * in filters/need_cpu: if (( need_cpu > nr_cpu )); then
 * in jobs/README.md: need_*
The file include/kernel_selftests has the following content: {{{#!YellowBox need_kernel_headers: true need_kconfig: - CONFIG_TEST_FIRMWARE - CONFIG_TEST_BPF - CONFIG_TEST_USER_COPY - CONFIG_MEMORY_NOTIFIER_ERROR_INJECT - CONFIG_MEMORY_HOTPLUG_SPARSE=y - CONFIG_NOTIFIER_ERROR_INJECTION - CONFIG_FTRACE=y }}}= test execution = job.yaml files are converted into job.sh files for execution by sbin/job2sh.
The file include/kernel_selftests has the following content:
{{{#!YellowBox
need_kernel_headers: true
need_kconfig:
- CONFIG_TEST_FIRMWARE
- CONFIG_TEST_BPF
- CONFIG_TEST_USER_COPY
- CONFIG_MEMORY_NOTIFIER_ERROR_INJECT
- CONFIG_MEMORY_HOTPLUG_SPARSE=y
- CONFIG_NOTIFIER_ERROR_INJECTION
- CONFIG_FTRACE=y
}}}= test execution =
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.
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.
See jobs/README.md for details.
TBWiki engine 1.9.2 by Tim Bird