[PATCH] test: bdinfo: Handle systems without getopt

Marek Vasut marek.vasut+renesas at mailbox.org
Sun Dec 10 16:01:56 CET 2023


Systems without getopt support fall back to plain full bdinfo print,
handle such a case, which occurs e.g. with sandbox_flattree_defconfig .

Fixes: 8827a3871452 ("test: bdinfo: Test bdinfo -h")
Fixes: 2696f3ab8101 ("test: bdinfo: Test bdinfo -m")
Fixes: 3ff2d796a6f2 ("test: bdinfo: Test bdinfo -e")
Signed-off-by: Marek Vasut <marek.vasut+renesas at mailbox.org>
---
Cc: Simon Glass <sjg at chromium.org>
Cc: Tom Rini <trini at konsulko.com>
---
 test/cmd/bdinfo.c | 26 ++++++++++++++++++--------
 1 file changed, 18 insertions(+), 8 deletions(-)

diff --git a/test/cmd/bdinfo.c b/test/cmd/bdinfo.c
index 9744bd16df9..053f2224919 100644
--- a/test/cmd/bdinfo.c
+++ b/test/cmd/bdinfo.c
@@ -237,12 +237,17 @@ static int bdinfo_test_help(struct unit_test_state *uts)
 {
 	/* Test BDINFO unknown option help text print */
 	ut_assertok(console_record_reset_enable());
-	ut_asserteq(1, run_commandf("bdinfo -h"));
-	ut_assert_nextlinen("bdinfo: invalid option -- h");
-	ut_assert_nextlinen("bdinfo - print Board Info structure");
-	ut_assert_nextline_empty();
-	ut_assert_nextlinen("Usage:");
-	ut_assert_nextlinen("bdinfo");
+	if (!CONFIG_IS_ENABLED(GETOPT)) {
+		ut_asserteq(0, run_commandf("bdinfo -h"));
+		ut_assertok(bdinfo_test_all(uts));
+	} else {
+		ut_asserteq(1, run_commandf("bdinfo -h"));
+		ut_assert_nextlinen("bdinfo: invalid option -- h");
+		ut_assert_nextlinen("bdinfo - print Board Info structure");
+		ut_assert_nextline_empty();
+		ut_assert_nextlinen("Usage:");
+		ut_assert_nextlinen("bdinfo");
+	}
 	ut_assertok(ut_check_console_end(uts));
 
 	return 0;
@@ -255,7 +260,10 @@ static int bdinfo_test_memory(struct unit_test_state *uts)
 	/* Test BDINFO memory layout only print */
 	ut_assertok(console_record_reset_enable());
 	ut_assertok(run_commandf("bdinfo -m"));
-	ut_assertok(bdinfo_check_mem(uts));
+	if (!CONFIG_IS_ENABLED(GETOPT))
+		ut_assertok(bdinfo_test_all(uts));
+	else
+		ut_assertok(bdinfo_check_mem(uts));
 	ut_assertok(ut_check_console_end(uts));
 
 	return 0;
@@ -268,7 +276,9 @@ static int bdinfo_test_eth(struct unit_test_state *uts)
 	/* Test BDINFO ethernet settings only print */
 	ut_assertok(console_record_reset_enable());
 	ut_assertok(run_commandf("bdinfo -e"));
-	if (IS_ENABLED(CONFIG_CMD_NET))
+	if (!CONFIG_IS_ENABLED(GETOPT))
+		ut_assertok(bdinfo_test_all(uts));
+	else if (IS_ENABLED(CONFIG_CMD_NET))
 		ut_assertok(test_eth(uts));
 	ut_assertok(ut_check_console_end(uts));
 
-- 
2.42.0



More information about the U-Boot mailing list