diff options
Diffstat (limited to 'tools/testing/selftests/livepatch/README')
| -rw-r--r-- | tools/testing/selftests/livepatch/README | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/tools/testing/selftests/livepatch/README b/tools/testing/selftests/livepatch/README new file mode 100644 index 000000000000..d2035dd64a2b --- /dev/null +++ b/tools/testing/selftests/livepatch/README @@ -0,0 +1,56 @@ +==================== +Livepatch Self Tests +==================== + +This is a small set of sanity tests for the kernel livepatching. + +The test suite loads and unloads several test kernel modules to verify +livepatch behavior. Debug information is logged to the kernel's message +buffer and parsed for expected messages. (Note: the tests will compare +the message buffer for only the duration of each individual test.) + + +Config +------ + +Set CONFIG_LIVEPATCH=y option and it's prerequisites. + + +Building the tests +------------------ + +To only build the tests without running them, run: + + % make -C tools/testing/selftests/livepatch + +The command above will compile all test modules and test programs, making them +ready to be packaged if so desired. + +Running the tests +----------------- + +Test kernel modules are built before running the livepatch selftests. The +modules are located under test_modules directory, and are built as out-of-tree +modules. This is specially useful since the same sources can be built and +tested on systems with different kABI, ensuring they the tests are backwards +compatible. The modules will be loaded by the test scripts using insmod. + +To run the livepatch selftests, from the top of the kernel source tree: + + % make -C tools/testing/selftests TARGETS=livepatch run_tests + +or + + % make kselftest TARGETS=livepatch + + +Adding tests +------------ + +See the common functions.sh file for the existing collection of utility +functions, most importantly setup_config(), start_test() and +check_result(). The latter function greps the kernel's ring buffer for +"livepatch:" and "test_klp" strings, so tests be sure to include one of +those strings for result comparison. Other utility functions include +general module loading and livepatch loading helpers (waiting for patch +transitions, sysfs entries, etc.) |
