perf-test(1)
============

NAME
----
perf-test - Runs sanity tests.

SYNOPSIS
--------
[verse]
'perf test [<options>] [{list <test-name-fragment>|[<test-name-fragments>|<test-numbers>]}]'

DESCRIPTION
-----------
This command does assorted sanity tests, initially through linked routines but
also will look for a directory with more tests in the form of scripts.

To get a list of available tests use 'perf test list', specifying a test name
fragment will show all tests that have it.

To run just specific tests, inform test name fragments or the numbers obtained
from 'perf test list'.

OPTIONS
-------
-s::
--skip::
	Tests to skip (comma separated numeric list).

-v::
-vv::
-vvv::
--verbose::
	With a single '-v', verbose level 1, only failing test output
	is displayed. With '-vv' and higher all test output is shown.

-S::
--sequential::
	Run all tests one after the other. By default "exclusive"
	tests are run sequentially, but other tests are run in
	parallel to speed execution.

-r::
--runs-per-test::
	Run each test the given number of times, by default once. This
	option can be useful to determine if a test is flaky.

-F::
--dont-fork::
	Do not fork child for each test, run all tests within single process, this
	sets sequential mode.

--dso::
	Specify a DSO for the "Symbols" test.

-w::
--workload=::
	Run a built-in workload, to list them use '--list-workloads', current
	ones include: noploop, thloop, leafloop, sqrtloop, brstack, datasym,
	context_switch_loop, deterministic, named_threads and landlock.

	Used with the shell script regression tests.

	Some accept an extra parameter:

		seconds: leafloop, noploop, sqrtloop, thloop
		nrloops: brstack, context_switch_loop

	'named_threads' accepts the number of threads and the number of loops to
	do in each thread.

	The datasym, landlock and deterministic workloads don't accept any.

--list-workloads::
	List the available workloads to use with -w/--workload.

--record-ctl=fifo:ctl-fifo[,ack-fifo]::
	This option is used to communicate with a perf record session in order
	to control the recording scope to only the workload and avoid recording
	setup and teardown code. When specifying this option, the same FIFO path
	must be specified in the record session via:

	  perf record -D -1 --control=fifo:ctl-fifo[,ack-fifo] ...

	Perf test sends 'enable' and 'disable' commands through ctl-fifo to
	control event recording. If 'ack-fifo' is provided, the workload runner
	waits for an 'ack' response after each command.
