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