mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00

To accommodate varying hardware performance and use cases, the default kunit test case timeout (currently 300 seconds) is now configurable. Users can adjust the timeout by either setting the 'timeout' module parameter or the KUNIT_DEFAULT_TIMEOUT Kconfig option to their desired timeout in seconds. Link: https://lore.kernel.org/r/20250626171730.1765004-1-marievic@google.com Signed-off-by: Marie Zhussupova <marievic@google.com> Reviewed-by: David Gow <davidgow@google.com> Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
109 lines
3.9 KiB
Text
109 lines
3.9 KiB
Text
#
|
|
# KUnit base configuration
|
|
#
|
|
|
|
menuconfig KUNIT
|
|
tristate "KUnit - Enable support for unit tests"
|
|
select GLOB
|
|
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/.
|
|
|
|
if KUNIT
|
|
|
|
config KUNIT_DEBUGFS
|
|
bool "KUnit - Enable /sys/kernel/debug/kunit debugfs representation" if !KUNIT_ALL_TESTS
|
|
default KUNIT_ALL_TESTS
|
|
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.
|
|
|
|
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.
|
|
|
|
config KUNIT_TEST
|
|
tristate "KUnit test for KUnit" if !KUNIT_ALL_TESTS
|
|
default KUNIT_ALL_TESTS
|
|
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
|
|
tristate "Example test for KUnit" if !KUNIT_ALL_TESTS
|
|
default KUNIT_ALL_TESTS
|
|
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.
|
|
|
|
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.
|
|
|
|
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.
|
|
|
|
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.
|
|
|
|
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.
|
|
|
|
endif # KUNIT
|