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 <dario.binacchi@amarulasolutions.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Dario Binacchi
2026-04-30 10:06:06 +02:00
committed by Patrice Chotard
parent 703f8c313d
commit 2dc71c48bf

View File

@@ -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);