# TRANSITIONAL ONLY.
# Provide newer names for old config options to make it easier to transition
# code relying on the older non-upstream kunit version.

menu "(transitional) KUnit support"

config KUNIT
	bool "(transitional) Enable support for unit tests (KUnit)"
	select TEST
	help
	  Enables support for KUnit via the new name.

if KUNIT

config KUNIT_TEST
	bool "(transitional) KUnit test for KUnit"
	select TEST_TEST
	depends on KUNIT
	help
	  Enables KUnit test to test KUnit.

config KUNIT_EXAMPLE_TEST
	bool "(transitional) Example test for KUnit"
	select EXAMPLE_TEST
	depends on KUNIT
	help
	  Enables example KUnit test to demo features of KUnit.

endif # KUNIT

endmenu
