From feb384725097cf00c22690a2298e653b9b62fb70 Mon Sep 17 00:00:00 2001
From: Joe Hershberger <joe.hershberger@ni.com>
Date: Wed, 20 May 2015 14:27:31 -0500
Subject: [PATCH] test: Move the unit tests to their own menu

Make all unit tests selectable as a menu of test suites instead of just
sitting in the top-level menu individually.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
---
 configs/sandbox_defconfig |  1 +
 test/Kconfig              | 11 ++++++++---
 test/dm/Kconfig           |  3 +--
 3 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/configs/sandbox_defconfig b/configs/sandbox_defconfig
index 7b5ef2bc36..25980173fe 100644
--- a/configs/sandbox_defconfig
+++ b/configs/sandbox_defconfig
@@ -37,5 +37,6 @@ CONFIG_USB_EMUL=y
 CONFIG_USB_STORAGE=y
 CONFIG_DM_RTC=y
 CONFIG_ERRNO_STR=y
+CONFIG_UNIT_TEST=y
 CONFIG_UT_TIME=y
 CONFIG_UT_DM=y
diff --git a/test/Kconfig b/test/Kconfig
index 32a974e28c..50d3a49c97 100644
--- a/test/Kconfig
+++ b/test/Kconfig
@@ -1,9 +1,14 @@
-config UNIT_TEST
-	bool
+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 UT_TIME
 	bool "Unit tests for time functions"
-	select UNIT_TEST
+	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
diff --git a/test/dm/Kconfig b/test/dm/Kconfig
index 0fa3074e9d..e5b341e523 100644
--- a/test/dm/Kconfig
+++ b/test/dm/Kconfig
@@ -1,7 +1,6 @@
 config UT_DM
 	bool "Enable driver model unit test command"
-	depends on SANDBOX
-	select UNIT_TEST
+	depends on SANDBOX && UNIT_TEST
 	help
 	  This enables the 'ut dm' command which runs a series of unit
 	  tests on the driver model code. Each subsystem (uclass) is tested.
-- 
2.39.5