It isn't useful to have multiple before() and after() functions defined in a single file. The order they are executed can't be guaranteed, and having to name them, and name them something different in every file since they're external identifiers, is cumbersome and inconsistent with how other unit test frameworks operate.
Replace this with simple setup() and teardown() functions which are defined statically and which each of the tests maintain a pointer to so the core can access them.
It isn't useful to have multiple before() and after() functions defined in a single file. The order they are executed can't be guaranteed, and having to name them, and name them something different in every file since they're external identifiers, is cumbersome and inconsistent with how other unit test frameworks operate.
Replace this with simple setup() and teardown() functions which are defined statically and which each of the tests maintain a pointer to so the core can access them.