mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
synced 2026-04-18 03:23:53 -04:00
Add the SECURITY_LANDLOCK_KUNIT_TEST option to enable KUnit tests for Landlock. The minimal required configuration is listed in the security/landlock/.kunitconfig file. Add an initial landlock_fs KUnit test suite with 7 test cases for filesystem helpers. These are related to the LANDLOCK_ACCESS_FS_REFER right. There is one KUnit test case per: * mutated state (e.g. test_scope_to_request_*) or, * shared state between tests (e.g. test_is_eaccess_*). Add macros to improve readability of tests (i.e. one per line). Test cases are collocated with the tested functions to help maintenance and improve documentation. This is why SECURITY_LANDLOCK_KUNIT_TEST cannot be set as module. This is a nice complement to Landlock's user space kselftests. We expect new Landlock features to come with KUnit tests as well. Thanks to UML support, we can run all KUnit tests for Landlock with: ./tools/testing/kunit/kunit.py run --kunitconfig security/landlock [00:00:00] ======================= landlock_fs ======================= [00:00:00] [PASSED] test_no_more_access [00:00:00] [PASSED] test_scope_to_request_with_exec_none [00:00:00] [PASSED] test_scope_to_request_with_exec_some [00:00:00] [PASSED] test_scope_to_request_without_access [00:00:00] [PASSED] test_is_eacces_with_none [00:00:00] [PASSED] test_is_eacces_with_refer [00:00:00] [PASSED] test_is_eacces_with_write [00:00:00] =================== [PASSED] landlock_fs =================== [00:00:00] ============================================================ [00:00:00] Testing complete. Ran 7 tests: passed: 7 Cc: Konstantin Meskhidze <konstantin.meskhidze@huawei.com> Reviewed-by: Günther Noack <gnoack@google.com> Link: https://lore.kernel.org/r/20240118113632.1948478-1-mic@digikod.net Signed-off-by: Mickaël Salaün <mic@digikod.net>
46 lines
893 B
Plaintext
46 lines
893 B
Plaintext
# This config enables as many tests as possible under UML.
|
|
# It is intended for use in continuous integration systems and similar for
|
|
# automated testing of as much as possible.
|
|
# The config is manually maintained, though it uses KUNIT_ALL_TESTS=y to enable
|
|
# any tests whose dependencies are already satisfied. Please feel free to add
|
|
# more options if they any new tests.
|
|
|
|
CONFIG_KUNIT=y
|
|
CONFIG_KUNIT_EXAMPLE_TEST=y
|
|
CONFIG_KUNIT_ALL_TESTS=y
|
|
|
|
CONFIG_FORTIFY_SOURCE=y
|
|
|
|
CONFIG_IIO=y
|
|
|
|
CONFIG_EXT4_FS=y
|
|
|
|
CONFIG_MSDOS_FS=y
|
|
CONFIG_VFAT_FS=y
|
|
|
|
CONFIG_PCI=y
|
|
CONFIG_USB4=y
|
|
|
|
CONFIG_NET=y
|
|
CONFIG_MCTP=y
|
|
|
|
CONFIG_INET=y
|
|
CONFIG_MPTCP=y
|
|
|
|
CONFIG_DAMON=y
|
|
CONFIG_DAMON_VADDR=y
|
|
CONFIG_DAMON_PADDR=y
|
|
CONFIG_DEBUG_FS=y
|
|
CONFIG_DAMON_DBGFS=y
|
|
|
|
CONFIG_REGMAP_BUILD=y
|
|
|
|
CONFIG_SECURITY=y
|
|
CONFIG_SECURITY_APPARMOR=y
|
|
CONFIG_SECURITY_LANDLOCK=y
|
|
|
|
CONFIG_SOUND=y
|
|
CONFIG_SND=y
|
|
CONFIG_SND_SOC=y
|
|
CONFIG_SND_SOC_TOPOLOGY_BUILD=y
|