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