From: Timo Sirainen Date: Thu, 27 May 2021 08:18:05 +0000 (+0300) Subject: lib: test-data-stack: Run each test with the same data stack state X-Git-Tag: 2.3.16~69 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4784a79d09d8fa0d38496d983264703fe0357716;p=thirdparty%2Fdovecot%2Fcore.git lib: test-data-stack: Run each test with the same data stack state --- diff --git a/src/lib/test-data-stack.c b/src/lib/test-data-stack.c index 61a7d8e3c0..d37cf5ac7f 100644 --- a/src/lib/test-data-stack.c +++ b/src/lib/test-data-stack.c @@ -221,8 +221,9 @@ static void test_ds_recurse(int depth, int number, size_t size) test_assert_idx(t_pop(&t_id), depth); } -static void test_ds_recursive(int count, int depth) +static void test_ds_recursive(void) { + int count = 20, depth = 80; int i; test_begin("data-stack recursive"); @@ -282,12 +283,21 @@ static void test_ds_pass_str(void) void test_data_stack(void) { - test_ds_grow_event(); - test_ds_get_bytes_available(); - test_ds_buffers(); - test_ds_realloc(); - test_ds_recursive(20, 80); - test_ds_pass_str(); + void (*tests[])(void) = { + test_ds_grow_event, + test_ds_get_bytes_available, + test_ds_buffers, + test_ds_realloc, + test_ds_recursive, + test_ds_pass_str, + }; + for (unsigned int i = 0; i < N_ELEMENTS(tests); i++) { + ds_grow_event_count = 0; + data_stack_free_unused(); + T_BEGIN { + tests[i](); + } T_END; + } } enum fatal_test_state fatal_data_stack(unsigned int stage)