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
62