1====================
2Livepatch Self Tests
3====================
4
5This is a small set of sanity tests for the kernel livepatching.
6
7The test suite loads and unloads several test kernel modules to verify
8livepatch behavior.  Debug information is logged to the kernel's message
9buffer and parsed for expected messages.  (Note: the tests will clear
10the message buffer between individual tests.)
11
12
13Config
14------
15
16Set these config options and their prerequisites:
17
18CONFIG_LIVEPATCH=y
19CONFIG_TEST_LIVEPATCH=m
20
21
22Running the tests
23-----------------
24
25Test kernel modules are built as part of lib/ (make modules) and need to
26be installed (make modules_install) as the test scripts will modprobe
27them.
28
29To run the livepatch selftests, from the top of the kernel source tree:
30
31  % make -C tools/testing/selftests TARGETS=livepatch run_tests
32
33
34Adding tests
35------------
36
37See the common functions.sh file for the existing collection of utility
38functions, most importantly set_dynamic_debug() and check_result().  The
39latter function greps the kernel's ring buffer for "livepatch:" and
40"test_klp" strings, so tests be sure to include one of those strings for
41result comparison.  Other utility functions include general module
42loading and livepatch loading helpers (waiting for patch transitions,
43sysfs entries, etc.)
44