Merge tag 'trace-printf-v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/trace...
[drm/drm-misc.git] / lib / kunit / Kconfig
blob34d7242d526dcd40cc1dadc1aa66591ad950dbc2
2 # KUnit base configuration
5 menuconfig KUNIT
6         tristate "KUnit - Enable support for unit tests"
7         select GLOB
8         help
9           Enables support for kernel unit tests (KUnit), a lightweight unit
10           testing and mocking framework for the Linux kernel. These tests are
11           able to be run locally on a developer's workstation without a VM or
12           special hardware when using UML. Can also be used on most other
13           architectures. For more information, please see
14           Documentation/dev-tools/kunit/.
16 if KUNIT
18 config KUNIT_DEBUGFS
19         bool "KUnit - Enable /sys/kernel/debug/kunit debugfs representation" if !KUNIT_ALL_TESTS
20         default KUNIT_ALL_TESTS
21         help
22           Enable debugfs representation for kunit.  Currently this consists
23           of /sys/kernel/debug/kunit/<test_suite>/results files for each
24           test suite, which allow users to see results of the last test suite
25           run that occurred.
27 config KUNIT_FAULT_TEST
28         bool "Enable KUnit tests which print BUG stacktraces"
29         depends on KUNIT_TEST
30         depends on !UML
31         default y
32         help
33           Enables fault handling tests for the KUnit framework. These tests may
34           trigger a kernel BUG(), and the associated stack trace, even when they
35           pass. If this conflicts with your test infrastrcture (or is confusing
36           or annoying), they can be disabled by setting this to N.
38 config KUNIT_TEST
39         tristate "KUnit test for KUnit" if !KUNIT_ALL_TESTS
40         default KUNIT_ALL_TESTS
41         help
42           Enables the unit tests for the KUnit test framework. These tests test
43           the KUnit test framework itself; the tests are both written using
44           KUnit and test KUnit. This option should only be enabled for testing
45           purposes by developers interested in testing that KUnit works as
46           expected.
48 config KUNIT_EXAMPLE_TEST
49         tristate "Example test for KUnit" if !KUNIT_ALL_TESTS
50         default KUNIT_ALL_TESTS
51         help
52           Enables an example unit test that illustrates some of the basic
53           features of KUnit. This test only exists to help new users understand
54           what KUnit is and how it is used. Please refer to the example test
55           itself, lib/kunit/example-test.c, for more information. This option
56           is intended for curious hackers who would like to understand how to
57           use KUnit for kernel development.
59 config KUNIT_ALL_TESTS
60         tristate "All KUnit tests with satisfied dependencies"
61         help
62           Enables all KUnit tests, if they can be enabled.
63           KUnit tests run during boot and output the results to the debug log
64           in TAP format (http://testanything.org/). Only useful for kernel devs
65           running the KUnit test harness, and not intended for inclusion into a
66           production build.
68           For more information on KUnit and unit tests in general please refer
69           to the KUnit documentation in Documentation/dev-tools/kunit/.
71           If unsure, say N.
73 config KUNIT_DEFAULT_ENABLED
74         bool "Default value of kunit.enable"
75         default y
76         help
77           Sets the default value of kunit.enable. If set to N then KUnit
78           tests will not execute unless kunit.enable=1 is passed to the
79           kernel command line.
81           In most cases this should be left as Y. Only if additional opt-in
82           behavior is needed should this be set to N.
84 endif # KUNIT