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_RSA
42	bool "Unit test for rsa_verify() function"
43	depends on RSA
44	depends on RSA_VERIFY_WITH_PKEY
45	select IMAGE_SIGN_INFO
46	default y
47	help
48	  Enables rsa_verify() test, currently rsa_verify_with_pkey only()
49	  only, at the 'ut lib' command.
50
51endif
52
53config UT_COMPRESSION
54	bool "Unit test for compression"
55	depends on UNIT_TEST
56	depends on CMDLINE && GZIP_COMPRESSED && BZIP2 && LZMA && LZO && LZ4
57	default y
58	help
59	  Enables tests for compression and decompression routines for simple
60	  sanity and for buffer overflow conditions.
61
62config UT_LOG
63	bool "Unit tests for logging functions"
64	depends on UNIT_TEST
65	default y
66	help
67	  Enables the 'ut log' command which tests logging functions like
68	  log_err().
69	  See also CONFIG_LOG_TEST which provides the 'log test' command.
70
71config UT_TIME
72	bool "Unit tests for time functions"
73	depends on UNIT_TEST
74	help
75	  Enables the 'ut time' command which tests that the time functions
76	  work correctly. The test is fairly simple and will not catch all
77	  problems. But if you are having problems with udelay() and the like,
78	  this is a good place to start.
79
80config UT_UNICODE
81	bool "Unit tests for Unicode functions"
82	depends on UNIT_TEST
83	default y
84	help
85	  Enables the 'ut unicode' command which tests that the functions for
86	  manipulating Unicode strings work correctly.
87
88source "test/dm/Kconfig"
89source "test/env/Kconfig"
90source "test/optee/Kconfig"
91source "test/overlay/Kconfig"
92