+======================
Linux Kernel Selftests
+======================
The kernel contains a set of "self tests" under the tools/testing/selftests/
directory. These are intended to be small tests to exercise individual code
Running the selftests (hotplug tests are run in limited mode)
=============================================================
-To build the tests:
- $ make -C tools/testing/selftests
+To build the tests::
+
+ make -C tools/testing/selftests
+
+To run the tests::
+ make -C tools/testing/selftests run_tests
-To run the tests:
- $ make -C tools/testing/selftests run_tests
+To build and run the tests with a single command, use::
-To build and run the tests with a single command, use:
- $ make kselftest
+ make kselftest
-- note that some tests will require root privileges.
+Note that some tests will require root privileges.
Running a subset of selftests
-========================================
+=============================
+
You can use the "TARGETS" variable on the make command line to specify
single test to run, or a list of tests to run.
-To run only tests targeted for a single subsystem:
- $ make -C tools/testing/selftests TARGETS=ptrace run_tests
+To run only tests targeted for a single subsystem::
+
+ make -C tools/testing/selftests TARGETS=ptrace run_tests
-You can specify multiple tests to build and run:
- $ make TARGETS="size timers" kselftest
+You can specify multiple tests to build and run::
+
+ make TARGETS="size timers" kselftest
See the top-level tools/testing/selftests/Makefile for the list of all
possible targets.
Running the full range hotplug selftests
========================================
-To build the hotplug tests:
- $ make -C tools/testing/selftests hotplug
+To build the hotplug tests::
+
+ make -C tools/testing/selftests hotplug
+
+To run the hotplug tests::
-To run the hotplug tests:
- $ make -C tools/testing/selftests run_hotplug
+ make -C tools/testing/selftests run_hotplug
-- note that some tests will require root privileges.
+Note that some tests will require root privileges.
Install selftests
location which is tools/testing/selftests/kselftest or a user specified
location.
-To install selftests in default location:
- $ cd tools/testing/selftests
- $ ./kselftest_install.sh
+To install selftests in default location::
-To install selftests in a user specified location:
- $ cd tools/testing/selftests
- $ ./kselftest_install.sh install_dir
+ cd tools/testing/selftests
+ ./kselftest_install.sh
+
+To install selftests in a user specified location::
+
+ cd tools/testing/selftests
+ ./kselftest_install.sh install_dir
Running installed selftests
===========================
You can simply do the following to run the installed Kselftests. Please
note some tests will require root privileges.
-cd kselftest
-./run_kselftest.sh
+::
+
+ cd kselftest
+ ./run_kselftest.sh
Contributing new tests
======================
* Don't cause the top-level "make run_tests" to fail if your feature is
unconfigured.
-Contributing new tests(details)
-===============================
+Contributing new tests (details)
+================================
* Use TEST_GEN_XXX if such binaries or files are generated during
compiling.