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