[v2,5/7] test: cmd: part: add UUID lookup tests
Commit Message
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>
---
(no changes since v1)
test/cmd/part.c | 47 +++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 47 insertions(+)
Comments
On 2026-04-04T15:23:27, Dario Binacchi
<dario.binacchi@amarulasolutions.com> wrote:
> 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>
>
> test/cmd/part.c | 47 +++++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 47 insertions(+)
You can combine your run_command() and ut_assert() calls in some
cases. Also use definite values where you can, e.g. ut_asserteq(1,
ret)
Reviewed-by: Simon Glass <sjg@chromium.org>
To unsubscribe from this group and stop receiving emails from it, send an email to linux-amarula+unsubscribe@amarulasolutions.com.
@@ -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);