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