Loading...
1#
2# KUnit base configuration
3#
4
5menuconfig KUNIT
6 tristate "KUnit - Enable support for unit tests"
7 help
8 Enables support for kernel unit tests (KUnit), a lightweight unit
9 testing and mocking framework for the Linux kernel. These tests are
10 able to be run locally on a developer's workstation without a VM or
11 special hardware when using UML. Can also be used on most other
12 architectures. For more information, please see
13 Documentation/dev-tools/kunit/.
14
15if KUNIT
16
17config KUNIT_DEBUGFS
18 bool "KUnit - Enable /sys/kernel/debug/kunit debugfs representation" if !KUNIT_ALL_TESTS
19 default KUNIT_ALL_TESTS
20 help
21 Enable debugfs representation for kunit. Currently this consists
22 of /sys/kernel/debug/kunit/<test_suite>/results files for each
23 test suite, which allow users to see results of the last test suite
24 run that occurred.
25
26config KUNIT_TEST
27 tristate "KUnit test for KUnit" if !KUNIT_ALL_TESTS
28 default KUNIT_ALL_TESTS
29 help
30 Enables the unit tests for the KUnit test framework. These tests test
31 the KUnit test framework itself; the tests are both written using
32 KUnit and test KUnit. This option should only be enabled for testing
33 purposes by developers interested in testing that KUnit works as
34 expected.
35
36config KUNIT_EXAMPLE_TEST
37 tristate "Example test for KUnit" if !KUNIT_ALL_TESTS
38 default KUNIT_ALL_TESTS
39 help
40 Enables an example unit test that illustrates some of the basic
41 features of KUnit. This test only exists to help new users understand
42 what KUnit is and how it is used. Please refer to the example test
43 itself, lib/kunit/example-test.c, for more information. This option
44 is intended for curious hackers who would like to understand how to
45 use KUnit for kernel development.
46
47config KUNIT_ALL_TESTS
48 tristate "All KUnit tests with satisfied dependencies"
49 help
50 Enables all KUnit tests, if they can be enabled.
51 KUnit tests run during boot and output the results to the debug log
52 in TAP format (http://testanything.org/). Only useful for kernel devs
53 running the KUnit test harness, and not intended for inclusion into a
54 production build.
55
56 For more information on KUnit and unit tests in general please refer
57 to the KUnit documentation in Documentation/dev-tools/kunit/.
58
59 If unsure, say N.
60
61endif # KUNIT
1#
2# KUnit base configuration
3#
4
5menuconfig 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/.
15
16if KUNIT
17
18config 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.
26
27config 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.
37
38config 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.
47
48config 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.
58
59config 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.
67
68 For more information on KUnit and unit tests in general please refer
69 to the KUnit documentation in Documentation/dev-tools/kunit/.
70
71 If unsure, say N.
72
73config 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.
80
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.
83
84endif # KUNIT