2019-09-23 09:02:31 +00:00
|
|
|
#
|
|
|
|
# KUnit base configuration
|
|
|
|
#
|
|
|
|
|
|
|
|
menuconfig KUNIT
|
2020-01-06 22:28:22 +00:00
|
|
|
tristate "KUnit - Enable support for unit tests"
|
2023-08-07 10:23:56 +00:00
|
|
|
select GLOB
|
2019-09-23 09:02:31 +00: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 09:02:37 +00:00
|
|
|
|
|
|
|
if KUNIT
|
|
|
|
|
2020-03-26 14:25:07 +00:00
|
|
|
config KUNIT_DEBUGFS
|
2020-05-11 13:14:25 +00: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 09:08:06 +00: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 09:02:37 +00:00
|
|
|
config KUNIT_TEST
|
2020-05-11 13:14:25 +00:00
|
|
|
tristate "KUnit test for KUnit" if !KUNIT_ALL_TESTS
|
|
|
|
default KUNIT_ALL_TESTS
|
2019-09-23 09:02:37 +00: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 13:14:25 +00:00
|
|
|
tristate "Example test for KUnit" if !KUNIT_ALL_TESTS
|
|
|
|
default KUNIT_ALL_TESTS
|
2019-09-23 09:02:37 +00: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 13:14:20 +00: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 14:24:54 +00: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.
|
|
|
|
|
2019-09-23 09:02:37 +00:00
|
|
|
endif # KUNIT
|