xref: /openbmc/linux/lib/kunit/Kconfig (revision b67abaad)
1914cc63eSBrendan Higgins#
2914cc63eSBrendan Higgins# KUnit base configuration
3914cc63eSBrendan Higgins#
4914cc63eSBrendan Higgins
5914cc63eSBrendan Higginsmenuconfig KUNIT
69fe124bfSAlan Maguire	tristate "KUnit - Enable support for unit tests"
7*b67abaadSJanusz Krzysztofik	select GLOB
8914cc63eSBrendan Higgins	help
9914cc63eSBrendan Higgins	  Enables support for kernel unit tests (KUnit), a lightweight unit
10914cc63eSBrendan Higgins	  testing and mocking framework for the Linux kernel. These tests are
11914cc63eSBrendan Higgins	  able to be run locally on a developer's workstation without a VM or
12914cc63eSBrendan Higgins	  special hardware when using UML. Can also be used on most other
13914cc63eSBrendan Higgins	  architectures. For more information, please see
14914cc63eSBrendan Higgins	  Documentation/dev-tools/kunit/.
15d8e2a76bSBrendan Higgins
16d8e2a76bSBrendan Higginsif KUNIT
17d8e2a76bSBrendan Higgins
18e2219db2SAlan Maguireconfig KUNIT_DEBUGFS
19beaed42cSAnders Roxell	bool "KUnit - Enable /sys/kernel/debug/kunit debugfs representation" if !KUNIT_ALL_TESTS
20beaed42cSAnders Roxell	default KUNIT_ALL_TESTS
21e2219db2SAlan Maguire	help
22e2219db2SAlan Maguire	  Enable debugfs representation for kunit.  Currently this consists
23e2219db2SAlan Maguire	  of /sys/kernel/debug/kunit/<test_suite>/results files for each
24e2219db2SAlan Maguire	  test suite, which allow users to see results of the last test suite
25e2219db2SAlan Maguire	  run that occurred.
26e2219db2SAlan Maguire
27d8e2a76bSBrendan Higginsconfig KUNIT_TEST
28beaed42cSAnders Roxell	tristate "KUnit test for KUnit" if !KUNIT_ALL_TESTS
29beaed42cSAnders Roxell	default KUNIT_ALL_TESTS
30d8e2a76bSBrendan Higgins	help
31d8e2a76bSBrendan Higgins	  Enables the unit tests for the KUnit test framework. These tests test
32d8e2a76bSBrendan Higgins	  the KUnit test framework itself; the tests are both written using
33d8e2a76bSBrendan Higgins	  KUnit and test KUnit. This option should only be enabled for testing
34d8e2a76bSBrendan Higgins	  purposes by developers interested in testing that KUnit works as
35d8e2a76bSBrendan Higgins	  expected.
36d8e2a76bSBrendan Higgins
37d8e2a76bSBrendan Higginsconfig KUNIT_EXAMPLE_TEST
38beaed42cSAnders Roxell	tristate "Example test for KUnit" if !KUNIT_ALL_TESTS
39beaed42cSAnders Roxell	default KUNIT_ALL_TESTS
40d8e2a76bSBrendan Higgins	help
41d8e2a76bSBrendan Higgins	  Enables an example unit test that illustrates some of the basic
42d8e2a76bSBrendan Higgins	  features of KUnit. This test only exists to help new users understand
43d8e2a76bSBrendan Higgins	  what KUnit is and how it is used. Please refer to the example test
44d8e2a76bSBrendan Higgins	  itself, lib/kunit/example-test.c, for more information. This option
45d8e2a76bSBrendan Higgins	  is intended for curious hackers who would like to understand how to
46d8e2a76bSBrendan Higgins	  use KUnit for kernel development.
47d8e2a76bSBrendan Higgins
4892238b31SAnders Roxellconfig KUNIT_ALL_TESTS
4992238b31SAnders Roxell	tristate "All KUnit tests with satisfied dependencies"
5092238b31SAnders Roxell	help
5192238b31SAnders Roxell	  Enables all KUnit tests, if they can be enabled.
5292238b31SAnders Roxell	  KUnit tests run during boot and output the results to the debug log
5392238b31SAnders Roxell	  in TAP format (http://testanything.org/). Only useful for kernel devs
5492238b31SAnders Roxell	  running the KUnit test harness, and not intended for inclusion into a
5592238b31SAnders Roxell	  production build.
5692238b31SAnders Roxell
5792238b31SAnders Roxell	  For more information on KUnit and unit tests in general please refer
5892238b31SAnders Roxell	  to the KUnit documentation in Documentation/dev-tools/kunit/.
5992238b31SAnders Roxell
6092238b31SAnders Roxell	  If unsure, say N.
6192238b31SAnders Roxell
62d20a6ba5SJoe Fradleyconfig KUNIT_DEFAULT_ENABLED
63d20a6ba5SJoe Fradley	bool "Default value of kunit.enable"
64d20a6ba5SJoe Fradley	default y
65d20a6ba5SJoe Fradley	help
66d20a6ba5SJoe Fradley	  Sets the default value of kunit.enable. If set to N then KUnit
67d20a6ba5SJoe Fradley	  tests will not execute unless kunit.enable=1 is passed to the
68d20a6ba5SJoe Fradley	  kernel command line.
69d20a6ba5SJoe Fradley
70d20a6ba5SJoe Fradley	  In most cases this should be left as Y. Only if additional opt-in
71d20a6ba5SJoe Fradley	  behavior is needed should this be set to N.
72d20a6ba5SJoe Fradley
73d8e2a76bSBrendan Higginsendif # KUNIT
74