menuconfig UNIT_TEST
	bool "Unit tests"
	help
	  Select this to compile in unit tests for various parts of
	  U-Boot. Test suites will be subcommands of the "ut" command.
	  This does not require sandbox to be included, but it is most
	  often used there.

config SPL_UNIT_TEST
	bool "Unit tests in SPL"
	# We need to be able to unbind devices for tests to work
	select SPL_DM_DEVICE_REMOVE
	help
	  Select this to enable unit tests in SPL. Most test are designed for
	  running in U-Boot proper, but some are intended for SPL, such as
	  of-platdata and SPL handover. To run these tests with the sandbox_spl
	  board, use the -u (unit test) option.

config UT_LIB
	bool "Unit tests for library functions"
	depends on UNIT_TEST
	default y
	help
	  Enables the 'ut lib' command which tests library functions like
	  memcat(), memcyp(), memmove() and ASN1 compiler/decoder.

if UT_LIB

config UT_LIB_ASN1
	bool "Unit test for asn1 compiler and decoder function"
	default y
	imply ASYMMETRIC_KEY_TYPE
	imply ASYMMETRIC_PUBLIC_KEY_SUBTYPE
	imply X509_CERTIFICATE_PARSER
	imply PKCS7_MESSAGE_PARSER
	imply RSA_PUBLIC_KEY_PARSER
	help
	  Enables a test which exercises asn1 compiler and decoder function
	  via various parsers.

config UT_LIB_RSA
	bool "Unit test for rsa_verify() function"
	depends on RSA
	depends on RSA_VERIFY_WITH_PKEY
	select IMAGE_SIGN_INFO
	default y
	help
	  Enables rsa_verify() test, currently rsa_verify_with_pkey only()
	  only, at the 'ut lib' command.

endif

config UT_COMPRESSION
	bool "Unit test for compression"
	depends on UNIT_TEST
	depends on CMDLINE && GZIP_COMPRESSED && BZIP2 && LZMA && LZO && LZ4
	default y
	help
	  Enables tests for compression and decompression routines for simple
	  sanity and for buffer overflow conditions.

config UT_LOG
	bool "Unit tests for logging functions"
	depends on UNIT_TEST
	default y
	help
	  Enables the 'ut log' command which tests logging functions like
	  log_err().
	  See also CONFIG_LOG_TEST which provides the 'log test' command.

config UT_TIME
	bool "Unit tests for time functions"
	depends on UNIT_TEST
	help
	  Enables the 'ut time' command which tests that the time functions
	  work correctly. The test is fairly simple and will not catch all
	  problems. But if you are having problems with udelay() and the like,
	  this is a good place to start.

config UT_UNICODE
	bool "Unit tests for Unicode functions"
	depends on UNIT_TEST
	default y
	help
	  Enables the 'ut unicode' command which tests that the functions for
	  manipulating Unicode strings work correctly.

source "test/dm/Kconfig"
source "test/env/Kconfig"
source "test/optee/Kconfig"
source "test/overlay/Kconfig"
