linux-yocto/tools/testing/selftests/livepatch
Miroslav Benes 802c247160 selftests/livepatch: Add functions.sh to TEST_PROGS_EXTENDED
Add functions.sh to TEST_PROGS_EXTENDED so that it is installed along
with the rest of the selftests and they can be run.

Originally-by: Shuah Khan <shuah@kernel.org>
Signed-off-by: Miroslav Benes <mbenes@suse.cz>
Acked-by: Joe Lawrence <joe.lawrence@redhat.com>
Signed-off-by: Petr Mladek <pmladek@suse.com>
2019-04-15 10:43:21 +02:00
..
config selftests/livepatch: introduce tests 2019-01-11 20:51:24 +01:00
functions.sh livepatch/selftests: use "$@" to preserve argument list 2019-02-12 10:58:47 +01:00
Makefile selftests/livepatch: Add functions.sh to TEST_PROGS_EXTENDED 2019-04-15 10:43:21 +02:00
README selftests/livepatch: introduce tests 2019-01-11 20:51:24 +01:00
test-callbacks.sh selftests/livepatch: introduce tests 2019-01-11 20:51:24 +01:00
test-livepatch.sh selftests/livepatch: introduce tests 2019-01-11 20:51:24 +01:00
test-shadow-vars.sh selftests/livepatch: introduce tests 2019-01-11 20:51:24 +01:00

==================== 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 clear the message buffer between individual tests.)

Config

Set these config options and their prerequisites:

CONFIG_LIVEPATCH=y CONFIG_TEST_LIVEPATCH=m

Running the tests

Test kernel modules are built as part of lib/ (make modules) and need to be installed (make modules_install) as the test scripts will modprobe them.

To run the livepatch selftests, from the top of the kernel source tree:

% make -C tools/testing/selftests TARGETS=livepatch run_tests

Adding tests

See the common functions.sh file for the existing collection of utility functions, most importantly set_dynamic_debug() 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.)