About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / kselftest.txt




Custom Search

Based on kernel version 4.9. Page generated on 2016-12-21 14:34 EST.

1	Linux Kernel Selftests
2	
3	The kernel contains a set of "self tests" under the tools/testing/selftests/
4	directory. These are intended to be small tests to exercise individual code
5	paths in the kernel. Tests are intended to be run after building, installing
6	and booting a kernel.
7	
8	On some systems, hot-plug tests could hang forever waiting for cpu and
9	memory to be ready to be offlined. A special hot-plug target is created
10	to run full range of hot-plug tests. In default mode, hot-plug tests run
11	in safe mode with a limited scope. In limited mode, cpu-hotplug test is
12	run on a single cpu as opposed to all hotplug capable cpus, and memory
13	hotplug test is run on 2% of hotplug capable memory instead of 10%.
14	
15	Running the selftests (hotplug tests are run in limited mode)
16	=============================================================
17	
18	To build the tests:
19	  $ make -C tools/testing/selftests
20	
21	
22	To run the tests:
23	  $ make -C tools/testing/selftests run_tests
24	
25	To build and run the tests with a single command, use:
26	  $ make kselftest
27	
28	- note that some tests will require root privileges.
29	
30	
31	Running a subset of selftests
32	========================================
33	You can use the "TARGETS" variable on the make command line to specify
34	single test to run, or a list of tests to run.
35	
36	To run only tests targeted for a single subsystem:
37	  $  make -C tools/testing/selftests TARGETS=ptrace run_tests
38	
39	You can specify multiple tests to build and run:
40	  $  make TARGETS="size timers" kselftest
41	
42	See the top-level tools/testing/selftests/Makefile for the list of all
43	possible targets.
44	
45	
46	Running the full range hotplug selftests
47	========================================
48	
49	To build the hotplug tests:
50	  $ make -C tools/testing/selftests hotplug
51	
52	To run the hotplug tests:
53	  $ make -C tools/testing/selftests run_hotplug
54	
55	- note that some tests will require root privileges.
56	
57	
58	Install selftests
59	=================
60	
61	You can use kselftest_install.sh tool installs selftests in default
62	location which is tools/testing/selftests/kselftest or an user specified
63	location.
64	
65	To install selftests in default location:
66	   $ cd tools/testing/selftests
67	   $ ./kselftest_install.sh
68	
69	To install selftests in an user specified location:
70	   $ cd tools/testing/selftests
71	   $ ./kselftest_install.sh install_dir
72	
73	
74	Contributing new tests
75	======================
76	
77	In general, the rules for selftests are
78	
79	 * Do as much as you can if you're not root;
80	
81	 * Don't take too long;
82	
83	 * Don't break the build on any architecture, and
84	
85	 * Don't cause the top-level "make run_tests" to fail if your feature is
86	   unconfigured.
Hide Line Numbers
About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Information is copyright its respective author. All material is available from the Linux Kernel Source distributed under a GPL License. This page is provided as a free service by mjmwired.net.