| # | |
| # 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" | |
| depends on DEBUG_FS | |
| default y | |
| 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 !PANIC_ON_OOPS | |
| 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_FILTER_GLOB | |
| string "Default value of the filter_glob module parameter" | |
| help | |
| Sets the default value of kunit.filter_glob. If set to a non-empty | |
| string only matching tests are executed. | |
| If unsure, leave empty so all tests are executed. | |
| config KUNIT_DEFAULT_FILTER | |
| string "Default value of the filter module parameter" | |
| help | |
| Sets the default value of kunit.filter. If set to a non-empty | |
| string only matching tests are executed. | |
| If unsure, leave empty so all tests are executed. | |
| config KUNIT_DEFAULT_FILTER_ACTION | |
| string "Default value of the filter_action module parameter" | |
| help | |
| Sets the default value of kunit.filter_action. If set to a non-empty | |
| string only matching tests are executed. | |
| If unsure, leave empty so all tests are executed. | |
| 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. | |
| config KUNIT_UML_PCI | |
| bool "KUnit UML PCI Support" | |
| depends on UML | |
| select UML_PCI | |
| help | |
| Enables the PCI subsystem on UML for use by KUnit tests. | |
| Some KUnit tests require the PCI core which is not enabled by | |
| default on UML. | |
| If unsure, say N. | |
| endif # KUNIT |