[PATCH 43/43] test: Move help into the suite declaration
Simon Glass
sjg at chromium.org
Wed Jan 15 14:31:13 CET 2025
Rather than having the help in the longhelp, put it in the suite info
so 'ut info -s' can show it. This is tidier, particular due to the
removal of #ifdefs
This means that the help text is present in the image (although not
displayed with 'ut info -s') so the image-size increases. But with
UNIT_TEST enabled, we expect large images so this doesn't seem
important.
Signed-off-by: Simon Glass <sjg at chromium.org>
---
test/cmd_ut.c | 127 ++++++++++++++++----------------------------------
1 file changed, 40 insertions(+), 87 deletions(-)
diff --git a/test/cmd_ut.c b/test/cmd_ut.c
index 3afab422e4a..76f481f509b 100644
--- a/test/cmd_ut.c
+++ b/test/cmd_ut.c
@@ -19,14 +19,16 @@
*
* @name: Name of suite
* @start: First test in suite
- * end: End test in suite (points to the first test in the next suite
- * cmd: Command to use to run the suite
+ * @end: End test in suite (points to the first test in the next suite
+ * @cmd: Command to use to run the suite
+ * @help: Help-string to show for this suite
*/
struct suite {
const char *name;
struct unit_test *start;
struct unit_test *end;
ut_cmd_func cmd;
+ const char *help;
};
static int do_ut_all(struct unit_test_state *uts, struct cmd_tbl *cmdtp,
@@ -75,19 +77,21 @@ int cmd_ut_category(struct unit_test_state *uts, const char *name,
ll_end_decl(suite_end_ ## _name, struct unit_test, ut_ ## _name)
/* declare a test suite which uses a subcommand to run */
-#define SUITE_CMD(_name, _cmd_func) { \
+#define SUITE_CMD(_name, _cmd_func, _help) { \
#_name, \
suite_start_ ## _name, \
suite_end_ ## _name, \
_cmd_func, \
+ _help, \
}
/* declare a test suite which can be run directly without a subcommand */
-#define SUITE(_name) { \
+#define SUITE(_name, _help) { \
#_name, \
suite_start_ ## _name, \
suite_end_ ## _name, \
NULL, \
+ _help, \
}
SUITE_DECL(addrmap);
@@ -117,37 +121,37 @@ SUITE_DECL(setexpr);
SUITE_DECL(upl);
static struct suite suites[] = {
- SUITE(addrmap),
- SUITE(bdinfo),
- SUITE(bloblist),
- SUITE(bootm),
+ SUITE(addrmap, "very basic test of addrmap command"),
+ SUITE(bdinfo, "bdinfo (board info) command"),
+ SUITE(bloblist, "bloblist implementation"),
+ SUITE(bootm, "bootm command"),
#ifdef CONFIG_UT_BOOTSTD
- SUITE_CMD(bootstd, do_ut_bootstd),
+ SUITE_CMD(bootstd, do_ut_bootstd, "standard boot implementation"),
#endif
- SUITE(cmd),
- SUITE(common),
- SUITE(dm),
- SUITE(env),
- SUITE(exit),
- SUITE(fdt),
- SUITE(font),
- SUITE(hush),
- SUITE(lib),
- SUITE(loadm),
- SUITE(log),
- SUITE(mbr),
- SUITE(measurement),
- SUITE(mem),
+ SUITE(cmd, "various commands"),
+ SUITE(common, "tests for common/ directory"),
+ SUITE(dm, "driver model"),
+ SUITE(env, "environment"),
+ SUITE(exit, "shell exit and variables"),
+ SUITE(fdt, "fdt command"),
+ SUITE(font, "font command"),
+ SUITE(hush, "hush behaviour"),
+ SUITE(lib, "library functions"),
+ SUITE(loadm, "loadm command parameters and loading memory blob"),
+ SUITE(log, "logging functions"),
+ SUITE(mbr, "mbr command"),
+ SUITE(measurement, "TPM-based measured boot"),
+ SUITE(mem, "memory-related commands"),
#ifdef CONFIG_UT_OPTEE
- SUITE_CMD(optee, do_ut_optee),
+ SUITE_CMD(optee, do_ut_optee, "OP-TEE"),
#endif
#ifdef CONFIG_UT_OVERLAY
- SUITE_CMD(overlay, do_ut_overlay),
+ SUITE_CMD(overlay, do_ut_overlay, "device tree overlays"),
#endif
- SUITE(pci_mps),
- SUITE(seama),
- SUITE(setexpr),
- SUITE(upl),
+ SUITE(pci_mps, "PCI Express Maximum Payload Size"),
+ SUITE(seama, "seama command parameters loading and decoding"),
+ SUITE(setexpr, "setexpr command"),
+ SUITE(upl, "Universal payload support"),
};
/**
@@ -232,16 +236,19 @@ static int do_ut_info(struct cmd_tbl *cmdtp, int flag, int argc,
if (flags && !strcmp("-s", flags)) {
int i;
- puts("\nTests Suite\n");
- puts("----- -----\n");
+ puts("\nTests Suite Purpose");
+ puts("\n----- ------------ -------------------------\n");
for (i = 0; i < ARRAY_SIZE(suites); i++) {
struct suite *ste = &suites[i];
long n_ent = ste->end - ste->start;
if (n_ent)
- printf("%5ld %s\n", n_ent, ste->name);
+ printf("%5ld", n_ent);
else if (ste->cmd)
- printf("%5s %s\n", "?", ste->name);
+ printf("%5s", "?");
+ else /* suite is not present */
+ continue;
+ printf(" %-13.13s %s\n", ste->name, ste->help);
}
}
@@ -306,60 +313,6 @@ U_BOOT_LONGHELP(ut,
"\nOptions for <suite>:"
"\nall - execute all enabled tests"
"\ninfo [-s] - show info about tests [and suites]"
-#ifdef CONFIG_CMD_ADDRMAP
- "\naddrmap - very basic test of addrmap command"
-#endif
-#ifdef CONFIG_CMD_BDI
- "\nbdinfo - bdinfo command"
-#endif
-#ifdef CONFIG_SANDBOX
- "\nbloblist - bloblist implementation"
-#endif
-#ifdef CONFIG_BOOTSTD
- "\nbootstd - standard boot implementation"
-#endif
-#ifdef CONFIG_CMDLINE
- "\ncmd - test various commands"
-#endif
- "\ncommon - tests for common/ directory"
-#ifdef CONFIG_UT_DM
- "\ndm - driver model"
-#endif
-#ifdef CONFIG_UT_ENV
- "\nenv - environment"
-#endif
-#ifdef CONFIG_CMD_FDT
- "\nfdt - fdt command"
-#endif
-#ifdef CONFIG_CONSOLE_TRUETYPE
- "\nfont - font command"
-#endif
-#if CONFIG_IS_ENABLED(HUSH_PARSER)
- "\nhush - Test hush behavior"
-#endif
-#ifdef CONFIG_CMD_LOADM
- "\nloadm - loadm command parameters and loading memory blob"
-#endif
-#ifdef CONFIG_UT_LIB
- "\nlib - library functions"
-#endif
-#ifdef CONFIG_UT_LOG
- "\nlog - logging functions"
-#endif
- "\nmem - memory-related commands"
-#ifdef CONFIG_UT_OPTEE
- "\noptee - test OP-TEE"
-#endif
-#ifdef CONFIG_UT_OVERLAY
- "\noverlay - device tree overlays"
-#endif
-#ifdef CONFIG_CMD_PCI_MPS
- "\npci_mps - PCI Express Maximum Payload Size"
-#endif
- "\nsetexpr - setexpr command"
-#ifdef CONFIG_CMD_SEAMA
- "\nseama - seama command parameters loading and decoding"
-#endif
);
U_BOOT_CMD(
--
2.34.1
More information about the U-Boot
mailing list