3
0
mirror of https://github.com/Qortal/Brooklyn.git synced 2025-01-30 23:02:18 +00:00
Brooklyn/tools/testing/selftests/livepatch
crowetic a94b3d14aa Brooklyn+ (PLUS) changes
Changes included (and more):

1. Dynamic RAM merge

2. Real-time page scan and allocation

3. Cache compression

4. Real-time IRQ checks

5. Dynamic I/O allocation for Java heap

6. Java page migration

7. Contiguous memory allocation

8. Idle pages tracking

9. Per CPU RAM usage tracking

10. ARM NEON scalar multiplication library

11. NEON/ARMv8 crypto extensions

12. NEON SHA, Blake, RIPEMD crypto extensions

13. Parallel NEON crypto engine for multi-algo based CPU stress reduction
2022-05-12 10:47:00 -07:00
..
config cleaning up the git 2022-04-02 18:24:21 +05:00
functions.sh Brooklyn+ (PLUS) changes 2022-05-12 10:47:00 -07:00
Makefile cleaning up the git 2022-04-02 18:24:21 +05:00
README cleaning up the git 2022-04-02 18:24:21 +05:00
settings cleaning up the git 2022-04-02 18:24:21 +05:00
test-callbacks.sh cleaning up the git 2022-04-02 18:24:21 +05:00
test-ftrace.sh Brooklyn+ (PLUS) changes 2022-05-12 10:47:00 -07:00
test-livepatch.sh cleaning up the git 2022-04-02 18:24:21 +05:00
test-shadow-vars.sh cleaning up the git 2022-04-02 18:24:21 +05:00
test-state.sh cleaning up the git 2022-04-02 18:24:21 +05: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 compare
the message buffer for only the duration of each individual test.)


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(), 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.)