README 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. ====================
  2. Livepatch Self Tests
  3. ====================
  4. This is a small set of sanity tests for the kernel livepatching.
  5. The test suite loads and unloads several test kernel modules to verify
  6. livepatch behavior. Debug information is logged to the kernel's message
  7. buffer and parsed for expected messages. (Note: the tests will compare
  8. the message buffer for only the duration of each individual test.)
  9. Config
  10. ------
  11. Set CONFIG_LIVEPATCH=y option and it's prerequisites.
  12. Building the tests
  13. ------------------
  14. To only build the tests without running them, run:
  15. % make -C tools/testing/selftests/livepatch
  16. The command above will compile all test modules and test programs, making them
  17. ready to be packaged if so desired.
  18. Running the tests
  19. -----------------
  20. Test kernel modules are built before running the livepatch selftests. The
  21. modules are located under test_modules directory, and are built as out-of-tree
  22. modules. This is specially useful since the same sources can be built and
  23. tested on systems with different kABI, ensuring they the tests are backwards
  24. compatible. The modules will be loaded by the test scripts using insmod.
  25. To run the livepatch selftests, from the top of the kernel source tree:
  26. % make -C tools/testing/selftests TARGETS=livepatch run_tests
  27. or
  28. % make kselftest TARGETS=livepatch
  29. Adding tests
  30. ------------
  31. See the common functions.sh file for the existing collection of utility
  32. functions, most importantly setup_config(), start_test() and
  33. check_result(). The latter function greps the kernel's ring buffer for
  34. "livepatch:" and "test_klp" strings, so tests be sure to include one of
  35. those strings for result comparison. Other utility functions include
  36. general module loading and livepatch loading helpers (waiting for patch
  37. transitions, sysfs entries, etc.)