Add control that all initialized testobj are properly cleared at the end of the test suite
This commit is contained in:
1 parent
2f57766249
commit
d02de75487
16 files changed
+34
-8
No files matched your search
@@ -724,5 +724,6 @@ int main(void)
|
|||||||
test_insert();
|
test_insert();
|
||||||
test_string_utf8();
|
test_string_utf8();
|
||||||
test_fo();
|
test_fo();
|
||||||
|
testobj_final_check();
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
@@ -535,5 +535,6 @@ int main(void)
|
|||||||
test_str();
|
test_str();
|
||||||
test_double();
|
test_double();
|
||||||
test_cplusplus();
|
test_cplusplus();
|
||||||
|
testobj_final_check();
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
@@ -705,5 +705,6 @@ int main(void)
|
|||||||
test_multiset();
|
test_multiset();
|
||||||
test_double();
|
test_double();
|
||||||
test_emplace();
|
test_emplace();
|
||||||
|
testobj_final_check();
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
@@ -661,5 +661,6 @@ int main(void)
|
|||||||
test_double1();
|
test_double1();
|
||||||
test_double2();
|
test_double2();
|
||||||
test_double3();
|
test_double3();
|
||||||
|
testobj_final_check();
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
@@ -947,5 +947,6 @@ int main(void)
|
|||||||
test_M_CSTR();
|
test_M_CSTR();
|
||||||
test_properties();
|
test_properties();
|
||||||
test_generic_api();
|
test_generic_api();
|
||||||
|
testobj_final_check();
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
@@ -548,5 +548,6 @@ int main(void)
|
|||||||
test_backward();
|
test_backward();
|
||||||
test_double();
|
test_double();
|
||||||
test_remove();
|
test_remove();
|
||||||
|
testobj_final_check();
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
@@ -590,5 +590,6 @@ int main(void)
|
|||||||
test_it_oa();
|
test_it_oa();
|
||||||
test_oa_str1();
|
test_oa_str1();
|
||||||
test_oa_str2();
|
test_oa_str2();
|
||||||
|
testobj_final_check();
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
+1
-1
@@ -751,6 +751,6 @@ int main(void)
|
|||||||
test_out_default_oplist();
|
test_out_default_oplist();
|
||||||
test_double();
|
test_double();
|
||||||
test_let_string();
|
test_let_string();
|
||||||
|
testobj_final_check();
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -382,5 +382,6 @@ int main(void)
|
|||||||
test_double();
|
test_double();
|
||||||
test_it();
|
test_it();
|
||||||
test_io();
|
test_io();
|
||||||
|
testobj_final_check();
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
@@ -532,5 +532,6 @@ int main(void)
|
|||||||
test_double();
|
test_double();
|
||||||
test_from();
|
test_from();
|
||||||
test_z();
|
test_z();
|
||||||
|
testobj_final_check();
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
@@ -229,5 +229,6 @@ int main(void)
|
|||||||
test_double();
|
test_double();
|
||||||
test_double2();
|
test_double2();
|
||||||
test_double_res();
|
test_double_res();
|
||||||
|
testobj_final_check();
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
@@ -407,6 +407,6 @@ int main(void)
|
|||||||
test_double();
|
test_double();
|
||||||
test_doubleSPMC();
|
test_doubleSPMC();
|
||||||
test_doubleMPMC();
|
test_doubleMPMC();
|
||||||
|
testobj_final_check();
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
+6
-5
@@ -527,9 +527,10 @@ static void test_emplace(void)
|
|||||||
|
|
||||||
int main(void)
|
int main(void)
|
||||||
{
|
{
|
||||||
test_basic();
|
test_basic();
|
||||||
test_gen();
|
test_gen();
|
||||||
test_io();
|
test_io();
|
||||||
test_emplace();
|
test_emplace();
|
||||||
return 0;
|
testobj_final_check();
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -288,5 +288,6 @@ int main(void)
|
|||||||
check_reset();
|
check_reset();
|
||||||
check_chaining_tuple();
|
check_chaining_tuple();
|
||||||
test_double();
|
test_double();
|
||||||
|
testobj_final_check();
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
@@ -297,6 +297,6 @@ int main(void)
|
|||||||
test_triple();
|
test_triple();
|
||||||
test_io();
|
test_io();
|
||||||
test_double();
|
test_double();
|
||||||
|
testobj_final_check();
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -39,6 +39,14 @@ typedef struct testobj_s {
|
|||||||
unsigned int *ptr;
|
unsigned int *ptr;
|
||||||
} testobj_t[1];
|
} testobj_t[1];
|
||||||
|
|
||||||
|
int testobj_init_counter = 0;
|
||||||
|
|
||||||
|
static inline void testobj_final_check(void)
|
||||||
|
{
|
||||||
|
// All created testobj shall have been cleared at the end.
|
||||||
|
assert(testobj_init_counter == 0);
|
||||||
|
}
|
||||||
|
|
||||||
static inline void testobj_init(testobj_t z)
|
static inline void testobj_init(testobj_t z)
|
||||||
{
|
{
|
||||||
z->n = 1;
|
z->n = 1;
|
||||||
@@ -46,6 +54,7 @@ static inline void testobj_init(testobj_t z)
|
|||||||
z->ptr = (unsigned int*) calloc(1, sizeof(unsigned int));
|
z->ptr = (unsigned int*) calloc(1, sizeof(unsigned int));
|
||||||
assert(z->ptr != NULL);
|
assert(z->ptr != NULL);
|
||||||
z->allocated = true;
|
z->allocated = true;
|
||||||
|
testobj_init_counter++;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void testobj_clear(testobj_t z)
|
static inline void testobj_clear(testobj_t z)
|
||||||
@@ -55,6 +64,8 @@ static inline void testobj_clear(testobj_t z)
|
|||||||
free(z->ptr);
|
free(z->ptr);
|
||||||
z->ptr = NULL;
|
z->ptr = NULL;
|
||||||
z->allocated = false;
|
z->allocated = false;
|
||||||
|
testobj_init_counter--;
|
||||||
|
assert(testobj_init_counter >= 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void testobj_init_set(testobj_t d, const testobj_t s)
|
static inline void testobj_init_set(testobj_t d, const testobj_t s)
|
||||||
@@ -65,6 +76,7 @@ static inline void testobj_init_set(testobj_t d, const testobj_t s)
|
|||||||
assert(d->ptr != NULL);
|
assert(d->ptr != NULL);
|
||||||
memcpy(d->ptr, s->ptr, sizeof(unsigned int) * s->n);
|
memcpy(d->ptr, s->ptr, sizeof(unsigned int) * s->n);
|
||||||
d->allocated = true;
|
d->allocated = true;
|
||||||
|
testobj_init_counter++;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void testobj_set(testobj_t d, const testobj_t s)
|
static inline void testobj_set(testobj_t d, const testobj_t s)
|
||||||
@@ -178,6 +190,7 @@ static inline void testobj_str(string_t str, const testobj_t z, bool append)
|
|||||||
PARSE_STR(testobj_parse_str), \
|
PARSE_STR(testobj_parse_str), \
|
||||||
GET_STR(testobj_str), \
|
GET_STR(testobj_str), \
|
||||||
EQUAL(testobj_equal_p), \
|
EQUAL(testobj_equal_p), \
|
||||||
|
INIT_WITH(testobj_init_set_ui), \
|
||||||
EMPLACE_TYPE( LIST( (_ui, testobj_init_set_ui, unsigned int), (_str, testobj_init_set_str, const char *), ( /*empty*/, testobj_init_set, testobj_t) ) ) \
|
EMPLACE_TYPE( LIST( (_ui, testobj_init_set_ui, unsigned int), (_str, testobj_init_set_str, const char *), ( /*empty*/, testobj_init_set, testobj_t) ) ) \
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -193,6 +206,7 @@ static inline void testobj_str(string_t str, const testobj_t z, bool append)
|
|||||||
GET_STR(testobj_str), \
|
GET_STR(testobj_str), \
|
||||||
EQUAL(testobj_equal_p), \
|
EQUAL(testobj_equal_p), \
|
||||||
CMP(testobj_cmp), \
|
CMP(testobj_cmp), \
|
||||||
|
INIT_WITH(testobj_init_set_ui), \
|
||||||
EMPLACE_TYPE( LIST( (_ui, testobj_init_set_ui, unsigned int), (_str, testobj_init_set_str, const char *), ( /*empty*/, testobj_init_set, testobj_t) ) ) \
|
EMPLACE_TYPE( LIST( (_ui, testobj_init_set_ui, unsigned int), (_str, testobj_init_set_str, const char *), ( /*empty*/, testobj_init_set, testobj_t) ) ) \
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user