[PATCH v2 5/7] test: cmd: part: add UUID lookup tests
Dario Binacchi
dario.binacchi at amarulasolutions.com
Sat Apr 4 17:23:32 CEST 2026
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 at amarulasolutions.com>
---
(no changes since v1)
test/cmd/part.c | 47 +++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 47 insertions(+)
diff --git a/test/cmd/part.c b/test/cmd/part.c
index e60e0226b64b..8ab99e243290 100644
--- a/test/cmd/part.c
+++ b/test/cmd/part.c
@@ -72,6 +72,21 @@ static int dm_test_cmd_part_number(struct unit_test_state *uts)
ut_assert(ret != 0);
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);
+ ret = run_commandf("part number mmc %u %s partnum",
+ mmc_dev_num,
+ "00000000-0000-0000-0000-000000000000");
+ ut_assert(ret != 0);
+ ut_assertnull(env_get("partnum"));
+
return 0;
}
DM_TEST(dm_test_cmd_part_number, UTF_SCAN_PDATA | UTF_SCAN_FDT);
@@ -112,6 +127,22 @@ static int dm_test_cmd_part_start(struct unit_test_state *uts)
ut_assert(ret != 0);
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);
+ ret = run_commandf("part start mmc %u %s partstart",
+ mmc_dev_num,
+ "00000000-0000-0000-0000-000000000000");
+ ut_assert(ret != 0);
+ ut_assertnull(env_get("partstart"));
+
return 0;
}
DM_TEST(dm_test_cmd_part_start, UTF_SCAN_PDATA | UTF_SCAN_FDT);
@@ -152,6 +183,22 @@ static int dm_test_cmd_part_size(struct unit_test_state *uts)
ut_assert(ret != 0);
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);
+ ret = run_commandf("part size mmc %u %s partsize",
+ mmc_dev_num,
+ "00000000-0000-0000-0000-000000000000");
+ ut_assert(ret != 0);
+ ut_assertnull(env_get("partsize"));
+
return 0;
}
DM_TEST(dm_test_cmd_part_size, UTF_SCAN_PDATA | UTF_SCAN_FDT);
--
2.43.0
More information about the U-Boot
mailing list