1config POST
2	bool "Power On Self Test support"
3	help
4	  See doc/README.POST for more details
5
6menu "Unit tests"
7
8config UNIT_TEST
9	bool "Unit tests"
10	help
11	  Select this to compile in unit tests for various parts of
12	  U-Boot. Test suites will be subcommands of the "ut" command.
13	  This does not require sandbox to be included, but it is most
14	  often used there.
15
16config SPL_UNIT_TEST
17	bool "Unit tests in SPL"
18	depends on SPL
19	# We need to be able to unbind devices for tests to work
20	select SPL_DM_DEVICE_REMOVE
21	help
22	  Select this to enable unit tests in SPL. Most test are designed for
23	  running in U-Boot proper, but some are intended for SPL, such as
24	  of-platdata and SPL handover. To run these tests with the sandbox_spl
25	  board, use the -u (unit test) option.
26
27config UT_LIB
28	bool "Unit tests for library functions"
29	depends on UNIT_TEST
30	default y if !SANDBOX_VPL
31	help
32	  Enables the 'ut lib' command which tests library functions like
33	  memcat(), memcyp(), memmove() and ASN1 compiler/decoder.
34
35if UT_LIB
36
37config UT_LIB_ASN1
38	bool "Unit test for asn1 compiler and decoder function"
39	default y
40	imply ASYMMETRIC_KEY_TYPE
41	imply ASYMMETRIC_PUBLIC_KEY_SUBTYPE
42	imply X509_CERTIFICATE_PARSER
43	imply PKCS7_MESSAGE_PARSER
44	imply RSA_PUBLIC_KEY_PARSER
45	help
46	  Enables a test which exercises asn1 compiler and decoder function
47	  via various parsers.
48
49config UT_LIB_CRYPT
50	bool "Unit test for crypt-style password hashing"
51	depends on !SPL && AUTOBOOT_KEYED && AUTOBOOT_ENCRYPTION
52	default y
53	select CRYPT_PW
54	select CRYPT_PW_SHA256
55	select CRYPT_PW_SHA512
56	help
57	  Enables a test for the crypt-style password hash functions.
58
59config UT_LIB_RSA
60	bool "Unit test for rsa_verify() function"
61	depends on RSA
62	depends on RSA_VERIFY_WITH_PKEY
63	select IMAGE_SIGN_INFO
64	default y
65	help
66	  Enables rsa_verify() test, currently rsa_verify_with_pkey only()
67	  only, at the 'ut lib' command.
68
69endif
70
71config UT_COMPRESSION
72	bool "Unit test for compression"
73	depends on UNIT_TEST
74	depends on CMDLINE && GZIP_COMPRESSED && BZIP2 && LZMA && LZO && LZ4 && ZSTD
75	default y
76	help
77	  Enables tests for compression and decompression routines for simple
78	  sanity and for buffer overflow conditions.
79
80config UT_LOG
81	bool "Unit tests for logging functions"
82	depends on UNIT_TEST
83	default y
84	help
85	  Enables the 'ut log' command which tests logging functions like
86	  log_err().
87	  See also CONFIG_LOG_TEST which provides the 'log test' command.
88
89config UT_TIME
90	bool "Unit tests for time functions"
91	depends on UNIT_TEST
92	help
93	  Enables the 'ut time' command which tests that the time functions
94	  work correctly. The test is fairly simple and will not catch all
95	  problems. But if you are having problems with udelay() and the like,
96	  this is a good place to start.
97
98config UT_UNICODE
99	bool "Unit tests for Unicode functions"
100	depends on UNIT_TEST
101	default y
102	select CHARSET
103	help
104	  Enables the 'ut unicode' command which tests that the functions for
105	  manipulating Unicode strings work correctly.
106
107source "test/dm/Kconfig"
108source "test/env/Kconfig"
109source "test/lib/Kconfig"
110source "test/optee/Kconfig"
111source "test/overlay/Kconfig"
112
113endmenu
114