| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- ====================
- 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.)
|