On Thu, Oct 5, 2023 at 1:26 PM Mattias Rönnblom <hof...@lysator.liu.se> wrote:
[snip] > >> +#define RETURN_ON_ERROR(rc) \ > >> + do { \ > >> + if (rc != TEST_SUCCESS) \ > >> + return rc; \ > >> + } while (0) > > > > TEST_ASSERT? > > This gives context about which part of a test failed. > > > > This macro is used in a situation where the failure has occured and has > been reported already. > > Maybe it would be better to replace the macro instationation with just > the if+return statements. > > RETURN_ON_ERROR(rc); > > -> > > if (rc != TEST_SUCCESS) > return rc; Yes, this macro does not add much, you can remove it. [snip] > >> + for (i = 0; i < NUM_SERVICE_CORES; i++) > >> + if (app->service_lcores[i] == lcore_id) > >> + return i; > > > > This construct is hard to read and prone to error if the code is updated > > later. > > > > for () { > > if () > > return i; > > } > > > > > > I wouldn't consider that an improvement (rather the opposite). Well, I disagree, but it is not enforced in the coding style so I won't insist. [snip] > >> +static struct unit_test_suite test_suite = { > >> + .suite_name = "Event dispatcher test suite", > >> + .unit_test_cases = { > >> + TEST_CASE_ST(test_setup, test_teardown, test_basic), > >> + TEST_CASE_ST(test_setup, test_teardown, test_drop), > >> + TEST_CASE_ST(test_setup, test_teardown, > >> + test_many_handler_registrations), > >> + TEST_CASE_ST(test_setup, test_teardown, > >> + test_many_finalize_registrations), > >> + TEST_CASES_END() > >> + } > >> +}; > >> + > >> +static int > >> +test_dispatcher(void) > >> +{ > >> + return unit_test_suite_runner(&test_suite); > >> +} > >> + > >> +REGISTER_TEST_COMMAND(dispatcher_autotest, test_dispatcher); > > > > We have new macros (see REGISTER_FAST_TEST for example) so a test is > > associated to an existing testsuite. > > I think this test should be part of the fast-test testsuite, wdyt? > > > > > > It needs setup and teardown methods, so I assume a generic test suite > woulnd't do. > > The dispatcher tests do have fairly short run times, so in that sense > they should qualify. So please use REGISTER_FAST_TEST(). Thanks. -- David Marchand