test: Record and show the totals for all test runs

With 'ut all' multiple test suites are run. Add a way to collect totals
and show them at the end.

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass
2025-01-20 14:26:02 -07:00
committed by Tom Rini
parent 15c39587cf
commit 6d97c98095
3 changed files with 12 additions and 0 deletions

View File

@@ -206,6 +206,7 @@ static int do_ut_all(struct unit_test_state *uts, struct cmd_tbl *cmdtp,
any_fail = retval;
}
}
ut_report(&uts->total, uts->run_count);
return any_fail;
}

View File

@@ -694,6 +694,8 @@ int ut_run_list(struct unit_test_state *uts, const char *category,
bool has_dm_tests = false;
int ret;
memset(&uts->cur, '\0', sizeof(struct ut_stats));
if (!CONFIG_IS_ENABLED(OF_PLATDATA) &&
ut_list_has_dm_tests(tests, count, prefix, select_name)) {
has_dm_tests = true;
@@ -734,5 +736,10 @@ int ut_run_list(struct unit_test_state *uts, const char *category,
if (ret == -ENOENT)
printf("Test '%s' not found\n", select_name);
uts->total.skip_count += uts->cur.skip_count;
uts->total.fail_count += uts->cur.fail_count;
uts->total.test_count += uts->cur.test_count;
uts->run_count++;
return ret;
}