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