unit-tests: Pass test iteration to fixtures
This commit is contained in:
parent
31e6ca78df
commit
4334f61284
|
@ -215,7 +215,7 @@ static bool run_test(test_function_t *tfun, int i)
|
|||
/**
|
||||
* Invoke fixture setup/teardown
|
||||
*/
|
||||
static bool call_fixture(test_case_t *tcase, bool up)
|
||||
static bool call_fixture(test_case_t *tcase, bool up, int i)
|
||||
{
|
||||
enumerator_t *enumerator;
|
||||
test_fixture_t *fixture;
|
||||
|
@ -230,14 +230,14 @@ static bool call_fixture(test_case_t *tcase, bool up)
|
|||
{
|
||||
if (fixture->setup)
|
||||
{
|
||||
fixture->setup();
|
||||
fixture->setup(i);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (fixture->teardown)
|
||||
{
|
||||
fixture->teardown();
|
||||
fixture->teardown(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -519,18 +519,18 @@ static bool run_case(test_case_t *tcase, test_runner_init_t init, char *cfg)
|
|||
test_setup_timeout(tcase->timeout);
|
||||
start_timing(&start);
|
||||
|
||||
if (call_fixture(tcase, TRUE))
|
||||
if (call_fixture(tcase, TRUE, i))
|
||||
{
|
||||
if (run_test(tfun, i))
|
||||
{
|
||||
if (call_fixture(tcase, FALSE))
|
||||
if (call_fixture(tcase, FALSE, i))
|
||||
{
|
||||
ok = TRUE;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
call_fixture(tcase, FALSE);
|
||||
call_fixture(tcase, FALSE, i);
|
||||
}
|
||||
}
|
||||
if (!post_test(init, ok, failures, tfun->name, i, &leaks))
|
||||
|
|
|
@ -51,7 +51,7 @@ typedef void (*test_function_cb_t)(int);
|
|||
/**
|
||||
* Fixture for a test case.
|
||||
*/
|
||||
typedef void (*test_fixture_cb_t)(void);
|
||||
typedef void (*test_fixture_cb_t)(int);
|
||||
|
||||
/**
|
||||
* A test suite; a collection of test cases with fixtures
|
||||
|
@ -388,9 +388,9 @@ void test_fail_if_worker_failed();
|
|||
#define suite_add_tcase test_suite_add_case
|
||||
#define START_TEST(name) static void name (int _i) {
|
||||
#define END_TEST test_fail_if_worker_failed(); }
|
||||
#define START_SETUP(name) static void name() {
|
||||
#define START_SETUP(name) static void name(int _i) {
|
||||
#define END_SETUP test_fail_if_worker_failed(); }
|
||||
#define START_TEARDOWN(name) static void name() {
|
||||
#define START_TEARDOWN(name) static void name(int _i) {
|
||||
#define END_TEARDOWN test_fail_if_worker_failed(); }
|
||||
|
||||
#endif /** TEST_SUITE_H_ @}*/
|
||||
|
|
Loading…
Reference in New Issue