Skip to content

Commit 35ec3c9

Browse files
Yuval Peressnashif
authored andcommitted
ztest: Update verification to account for missing suite
Fix an issue where a test's suite name was misspelled and thus the test never ran because it wasn't associated with a suite. Example: ZTEST_SUITE(my_suite, NULL, NULL, NULL, NULL, NULL); ZTEST(myy_suite, test) { } The above will no longer pass since `myy_suite` with a double `y` will fail the verification. Signed-off-by: Yuval Peress <[email protected]>
1 parent 4fce6fb commit 35ec3c9

File tree

1 file changed

+14
-4
lines changed

1 file changed

+14
-4
lines changed

subsys/testsuite/ztest/src/ztest_new.c

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -555,11 +555,21 @@ int ztest_run_test_suites(const void *state)
555555
void ztest_verify_all_test_suites_ran(void)
556556
{
557557
bool all_tests_run = true;
558-
struct ztest_suite_node *ptr;
558+
struct ztest_suite_node *suite;
559+
struct ztest_unit_test *test;
559560

560-
for (ptr = _ztest_suite_node_list_start; ptr < _ztest_suite_node_list_end; ++ptr) {
561-
if (ptr->stats.run_count < 1) {
562-
PRINT("ERROR: Test '%s' did not run.\n", ptr->name);
561+
for (suite = _ztest_suite_node_list_start; suite < _ztest_suite_node_list_end; ++suite) {
562+
if (suite->stats.run_count < 1) {
563+
PRINT("ERROR: Test suite '%s' did not run.\n", suite->name);
564+
all_tests_run = false;
565+
}
566+
}
567+
568+
for (test = _ztest_unit_test_list_start; test < _ztest_unit_test_list_end; ++test) {
569+
suite = ztest_find_test_suite(test->test_suite_name);
570+
if (suite == NULL) {
571+
PRINT("ERROR: Test '%s' assigned to test suite '%s' which doesn't exist\n",
572+
test->name, test->test_suite_name);
563573
all_tests_run = false;
564574
}
565575
}

0 commit comments

Comments
 (0)