]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
test: cmd: part: add UUID lookup tests
authorDario Binacchi <dario.binacchi@amarulasolutions.com>
Thu, 30 Apr 2026 08:06:06 +0000 (10:06 +0200)
committerPatrice Chotard <patrice.chotard@foss.st.com>
Tue, 12 May 2026 13:52:01 +0000 (15:52 +0200)
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>
test/cmd/part.c

index cac57a1a0e352db068a23daa7d5fcd7466121bd3..e0149011476c8d2349d15d8da21e9f2ccf968baf 100644 (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);