aboutsummaryrefslogtreecommitdiff
path: root/test/test-main.c
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2021-04-29 21:03:38 -0400
committerTom Rini <trini@konsulko.com>2021-04-29 21:03:38 -0400
commit8ddaf943589756442bba21e5be645cd47526d82b (patch)
tree5790a6435ce416342bc9747a55d2f23a8f141c2e /test/test-main.c
parentf3a0d2c1af630cc09a34c2159aa2dfa12b831762 (diff)
parent5b700cdcff61426843405ca1df4b549237e8bbc2 (diff)
Merge tag 'dm-pull-29apr21' of https://source.denx.de/u-boot/custodians/u-boot-dm
buildman environment fix binman FMAP improvements minor test improvements and fixes minor dm improvements
Diffstat (limited to 'test/test-main.c')
-rw-r--r--test/test-main.c23
1 files changed, 15 insertions, 8 deletions
diff --git a/test/test-main.c b/test/test-main.c
index 8c852d72f4..7afe8741cf 100644
--- a/test/test-main.c
+++ b/test/test-main.c
@@ -135,25 +135,32 @@ static bool ut_test_run_on_flattree(struct unit_test *test)
static bool test_matches(const char *prefix, const char *test_name,
const char *select_name)
{
+ size_t len;
+
if (!select_name)
return true;
- if (!strcmp(test_name, select_name))
+ /* Allow glob expansion in the test name */
+ len = select_name[strlen(select_name) - 1] == '*' ? strlen(select_name) : 0;
+ if (len-- == 1)
return true;
- if (!prefix) {
- const char *p = strstr(test_name, "_test_");
+ if (!strncmp(test_name, select_name, len))
+ return true;
- /* convert xxx_test_yyy to yyy, i.e. remove the suite name */
- if (p)
- test_name = p + 6;
- } else {
+ if (prefix) {
/* All tests have this prefix */
if (!strncmp(test_name, prefix, strlen(prefix)))
test_name += strlen(prefix);
+ } else {
+ const char *p = strstr(test_name, "_test_");
+
+ /* convert xxx_test_yyy to yyy, i.e. remove the suite name */
+ if (p)
+ test_name = p + strlen("_test_");
}
- if (!strcmp(test_name, select_name))
+ if (!strncmp(test_name, select_name, len))
return true;
return false;