From 2dc71c48bf14aa22f24824dcd94550cc5277f402 Mon Sep 17 00:00:00 2001 From: Dario Binacchi Date: Thu, 30 Apr 2026 10:06:06 +0200 Subject: test: cmd: part: add UUID lookup tests Extend the 'part' command unit tests to include partition lookup via UUID. This ensures that the 'number', 'start', and 'size' subcommands consistently handle UUIDs as partition identifiers, maintaining parity with the name-based lookup functionality. Signed-off-by: Dario Binacchi Reviewed-by: Simon Glass --- test/cmd/part.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/test/cmd/part.c b/test/cmd/part.c index cac57a1a0e3..e0149011476 100644 --- a/test/cmd/part.c +++ b/test/cmd/part.c @@ -90,6 +90,20 @@ static int cmd_test_part_number(struct unit_test_state *uts) mmc_dev_num)); ut_assertnull(env_get("partnum")); + for (i = 0; i < ARRAY_SIZE(gpt_parts); i++) { + env_set("partnum", NULL); + ut_assertok(run_commandf("part number mmc %u %s partnum", + mmc_dev_num, gpt_parts[i].uuid)); + snprintf(expected, sizeof(expected), "0x%x", i + 1); + ut_asserteq_str(expected, env_get("partnum")); + } + + env_set("partnum", NULL); + ut_asserteq(1, run_commandf("part number mmc %u %s partnum", + mmc_dev_num, + "00000000-0000-0000-0000-000000000000")); + ut_assertnull(env_get("partnum")); + return 0; } CMD_TEST(cmd_test_part_number, UTF_CONSOLE); @@ -134,6 +148,21 @@ static int cmd_test_part_start(struct unit_test_state *uts) mmc_dev_num)); ut_assertnull(env_get("partstart")); + for (i = 0; i < ARRAY_SIZE(gpt_parts); i++) { + env_set("partstart", NULL); + ut_assertok(run_commandf("part start mmc %u %s partstart", + mmc_dev_num, gpt_parts[i].uuid)); + snprintf(expected, sizeof(expected), "%lx", + (unsigned long)gpt_parts[i].start); + ut_asserteq_str(expected, env_get("partstart")); + } + + env_set("partstart", NULL); + ut_asserteq(1, run_commandf("part start mmc %u %s partstart", + mmc_dev_num, + "00000000-0000-0000-0000-000000000000")); + ut_assertnull(env_get("partstart")); + return 0; } CMD_TEST(cmd_test_part_start, UTF_CONSOLE); @@ -178,6 +207,21 @@ static int cmd_test_part_size(struct unit_test_state *uts) mmc_dev_num)); ut_assertnull(env_get("partsize")); + for (i = 0; i < ARRAY_SIZE(gpt_parts); i++) { + env_set("partsize", NULL); + ut_assertok(run_commandf("part size mmc %u %s partsize", + mmc_dev_num, gpt_parts[i].uuid)); + snprintf(expected, sizeof(expected), "%lx", + (unsigned long)gpt_parts[i].size); + ut_asserteq_str(expected, env_get("partsize")); + } + + env_set("partsize", NULL); + ut_asserteq(1, run_commandf("part size mmc %u %s partsize", + mmc_dev_num, + "00000000-0000-0000-0000-000000000000")); + ut_assertnull(env_get("partsize")); + return 0; } CMD_TEST(cmd_test_part_size, UTF_CONSOLE); -- cgit v1.2.3