From b0d619e2c9595f4ec05463e87be9d0d3423c0a70 Mon Sep 17 00:00:00 2001 From: Kimplul Date: Fri, 22 Aug 2025 15:27:17 +0300 Subject: use covsrv for coverage testing --- tests/vec.c | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) (limited to 'tests/vec.c') diff --git a/tests/vec.c b/tests/vec.c index a84096c..8531b14 100644 --- a/tests/vec.c +++ b/tests/vec.c @@ -1,14 +1,33 @@ +#include #include +#include "test.h" +/* required defs */ #define VEC_TYPE int #define VEC_NAME ints + +/* optional defs */ +#define VEC_MALLOC mallocc +#define VEC_CALLOC callocc +#define VEC_REALLOC reallocc +#define VEC_FREE free + #include int main() { +#if defined(COVERAGE) + assert(!covsrv_init()); + atexit(covsrv_destroy); +#endif + struct ints ints = ints_create(0); for (int i = 0; i < 1000000; ++i) { - ints_append(&ints, i); + if (!ints_append(&ints, i)) { + fprintf(stderr, "failed appending %d to vec\n", i); + ints_destroy(&ints); + return -1; + } } assert(ints_len(&ints) == 1000000); @@ -23,6 +42,19 @@ int main() i++; } + /* TEN million !!1! */ + if (!ints_reserve(&ints, 10000000)) { + fprintf(stderr, "failed reserving vec\n"); + ints_destroy(&ints); + return -1; + } + + /* set size back to keep test runtime reasonable + * (is shrink necessary when we already have reserve? I + * guess it shows intention a bit better and just asserts instead of + * maybe fails?) */ + ints_shrink(&ints, 1000000); + for (int i = 1000000 - 1; i >= 0; --i) { ints_remove(&ints, i); } -- cgit v1.2.3