2019-09-23 02:02:31 -07:00
|
|
|
#
|
|
|
|
# KUnit base configuration
|
|
|
|
#
|
|
|
|
|
|
|
|
menuconfig KUNIT
|
2020-01-06 22:28:22 +00:00
|
|
|
tristate "KUnit - Enable support for unit tests"
|
2023-08-07 12:23:56 +02:00
|
|
|
select GLOB
|
2019-09-23 02:02:31 -07:00
|
|
|
help
|
|
|
|
Enables support for kernel unit tests (KUnit), a lightweight unit
|
|
|
|
testing and mocking framework for the Linux kernel. These tests are
|
|
|
|
able to be run locally on a developer's workstation without a VM or
|
|
|
|
special hardware when using UML. Can also be used on most other
|
|
|
|
architectures. For more information, please see
|
|
|
|
Documentation/dev-tools/kunit/.
|
2019-09-23 02:02:37 -07:00
|
|
|
|
|
|
|
if KUNIT
|
|
|
|
|
2020-03-26 14:25:07 +00:00
|
|
|
config KUNIT_DEBUGFS
|
2020-05-11 15:14:25 +02:00
|
|
|
bool "KUnit - Enable /sys/kernel/debug/kunit debugfs representation" if !KUNIT_ALL_TESTS
|
|
|
|
default KUNIT_ALL_TESTS
|
2020-03-26 14:25:07 +00:00
|
|
|
help
|
|
|
|
Enable debugfs representation for kunit. Currently this consists
|
|
|
|
of /sys/kernel/debug/kunit/<test_suite>/results files for each
|
|
|
|
test suite, which allow users to see results of the last test suite
|
|
|
|
run that occurred.
|
|
|
|
|
2024-04-23 17:08:06 +08:00
|
|
|
config KUNIT_FAULT_TEST
|
|
|
|
bool "Enable KUnit tests which print BUG stacktraces"
|
|
|
|
depends on KUNIT_TEST
|
|
|
|
depends on !UML
|
|
|
|
default y
|
|
|
|
help
|
|
|
|
Enables fault handling tests for the KUnit framework. These tests may
|
|
|
|
trigger a kernel BUG(), and the associated stack trace, even when they
|
|
|
|
pass. If this conflicts with your test infrastrcture (or is confusing
|
|
|
|
or annoying), they can be disabled by setting this to N.
|
|
|
|
|
2019-09-23 02:02:37 -07:00
|
|
|
config KUNIT_TEST
|
2020-05-11 15:14:25 +02:00
|
|
|
tristate "KUnit test for KUnit" if !KUNIT_ALL_TESTS
|
|
|
|
default KUNIT_ALL_TESTS
|
2019-09-23 02:02:37 -07:00
|
|
|
help
|
|
|
|
Enables the unit tests for the KUnit test framework. These tests test
|
|
|
|
the KUnit test framework itself; the tests are both written using
|
|
|
|
KUnit and test KUnit. This option should only be enabled for testing
|
|
|
|
purposes by developers interested in testing that KUnit works as
|
|
|
|
expected.
|
|
|
|
|
|
|
|
config KUNIT_EXAMPLE_TEST
|
2020-05-11 15:14:25 +02:00
|
|
|
tristate "Example test for KUnit" if !KUNIT_ALL_TESTS
|
|
|
|
default KUNIT_ALL_TESTS
|
2019-09-23 02:02:37 -07:00
|
|
|
help
|
|
|
|
Enables an example unit test that illustrates some of the basic
|
|
|
|
features of KUnit. This test only exists to help new users understand
|
|
|
|
what KUnit is and how it is used. Please refer to the example test
|
|
|
|
itself, lib/kunit/example-test.c, for more information. This option
|
|
|
|
is intended for curious hackers who would like to understand how to
|
|
|
|
use KUnit for kernel development.
|
|
|
|
|
2020-05-11 15:14:20 +02:00
|
|
|
config KUNIT_ALL_TESTS
|
|
|
|
tristate "All KUnit tests with satisfied dependencies"
|
|
|
|
help
|
|
|
|
Enables all KUnit tests, if they can be enabled.
|
|
|
|
KUnit tests run during boot and output the results to the debug log
|
|
|
|
in TAP format (http://testanything.org/). Only useful for kernel devs
|
|
|
|
running the KUnit test harness, and not intended for inclusion into a
|
|
|
|
production build.
|
|
|
|
|
|
|
|
For more information on KUnit and unit tests in general please refer
|
|
|
|
to the KUnit documentation in Documentation/dev-tools/kunit/.
|
|
|
|
|
|
|
|
If unsure, say N.
|
|
|
|
|
2022-08-23 07:24:54 -07:00
|
|
|
config KUNIT_DEFAULT_ENABLED
|
|
|
|
bool "Default value of kunit.enable"
|
|
|
|
default y
|
|
|
|
help
|
|
|
|
Sets the default value of kunit.enable. If set to N then KUnit
|
|
|
|
tests will not execute unless kunit.enable=1 is passed to the
|
|
|
|
kernel command line.
|
|
|
|
|
|
|
|
In most cases this should be left as Y. Only if additional opt-in
|
|
|
|
behavior is needed should this be set to N.
|
|
|
|
|
2024-10-28 21:54:52 +00:00
|
|
|
config KUNIT_AUTORUN_ENABLED
|
|
|
|
bool "Default value of kunit.autorun"
|
|
|
|
default y
|
|
|
|
help
|
|
|
|
Sets the default value of kunit.autorun. If set to N then KUnit
|
|
|
|
tests will not run after initialization unless kunit.autorun=1 is
|
|
|
|
passed to the kernel command line. The test can still be run manually
|
|
|
|
via debugfs interface.
|
|
|
|
|
|
|
|
In most cases this should be left as Y. Only if additional opt-in
|
|
|
|
behavior is needed should this be set to N.
|
|
|
|
|
2025-06-26 17:17:29 +00:00
|
|
|
config KUNIT_DEFAULT_TIMEOUT
|
|
|
|
int "Default value of the timeout module parameter"
|
|
|
|
default 300
|
|
|
|
help
|
|
|
|
Sets the default timeout, in seconds, for Kunit test cases. This value
|
|
|
|
is further multiplied by a factor determined by the assigned speed
|
|
|
|
setting: 1x for `DEFAULT`, 3x for `KUNIT_SPEED_SLOW`, and 12x for
|
|
|
|
`KUNIT_SPEED_VERY_SLOW`. This allows slower tests on slower machines
|
|
|
|
sufficient time to complete.
|
|
|
|
|
|
|
|
If unsure, the default timeout of 300 seconds is suitable for most
|
|
|
|
cases.
|
|
|
|
|
2019-09-23 02:02:37 -07:00
|
|
|
endif # KUNIT
|