linux/tools/testing/selftests/livepatch
Michael Ellerman b9167c8078 selftests: Install settings files to fix TIMEOUT failures
Commit 852c8cbf34 ("selftests/kselftest/runner.sh: Add 45 second
timeout per test") added a 45 second timeout for tests, and also added
a way for tests to customise the timeout via a settings file.

For example the ftrace tests take multiple minutes to run, so they
were given longer in commit b43e78f65b ("tracing/selftests: Turn off
timeout setting").

This works when the tests are run from the source tree. However if the
tests are installed with "make -C tools/testing/selftests install",
the settings files are not copied into the install directory. When the
tests are then run from the install directory the longer timeouts are
not applied and the tests timeout incorrectly.

So add the settings files to TEST_FILES of the appropriate Makefiles
to cause the settings files to be installed using the existing install
logic.

Fixes: 852c8cbf34 ("selftests/kselftest/runner.sh: Add 45 second timeout per test")
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
2020-02-20 08:56:42 -07:00
..
config selftests: livepatch: add missing fragments to config 2019-09-23 08:33:16 -06:00
functions.sh selftests/livepatch: Remove unused local variable in set_ftrace_enabled() 2020-01-16 13:05:49 -07:00
Makefile selftests: Install settings files to fix TIMEOUT failures 2020-02-20 08:56:42 -07:00
README selftests/livepatch: Replace set_dynamic_debug() with setup_config() in README 2020-01-16 13:03:22 -07:00
settings selftests/livepatch: Disable the timeout 2019-10-25 19:59:12 +02:00
test-callbacks.sh selftests/livepatch: Make dynamic debug setup and restore generic 2019-11-04 09:33:15 -05:00
test-ftrace.sh selftests/livepatch: Test interaction with ftrace_enabled 2019-11-04 09:33:16 -05:00
test-livepatch.sh selftests/livepatch: Make dynamic debug setup and restore generic 2019-11-04 09:33:15 -05:00
test-shadow-vars.sh selftests/livepatch: Make dynamic debug setup and restore generic 2019-11-04 09:33:15 -05:00
test-state.sh selftests: livepatch: Fix it to do root uid check and skip 2019-12-23 10:52:40 -07: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 setup_config() 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.)