#define FOR_EACH_SUITE_TESTCASE(iter, suite, case) \
for (iter = 0, case = suite->unit_test_cases[0]; \
- suite->unit_test_cases[iter].testcase; \
+ suite->unit_test_cases[iter].testcase || \
+ suite->unit_test_cases[iter].testcase_with_data; \
iter++, case = suite->unit_test_cases[iter])
#define FOR_EACH_SUITE_TESTSUITE(iter, suite, sub_ts) \
if (test_success == TEST_SUCCESS) {
/* run the test case */
- test_success = tc.testcase();
+ if (tc.testcase)
+ test_success = tc.testcase();
+ else if (tc.testcase_with_data)
+ test_success = tc.testcase_with_data(tc.data);
+ else
+ test_success = -ENOTSUP;
+
if (test_success == TEST_SUCCESS)
suite->succeeded++;
else if (test_success == TEST_SKIPPED)