Fixing test.h, fixing warnings and deque tests

This commit is contained in:
Leonardo committed 2020-04-20 01:15:51 -03:00
1 parent 181a8999a7
commit 980fb6d432
3 files changed
+98 -36

No files matched your search

+8 -1
View File
@@ -114,7 +114,14 @@ static inline int cmc_str_cmp(char *ch1, char *ch2)
static inline char *cmc_str_cpy(char *str)
{
return strdup(str);
size_t len = strlen(str) + 1;
char *result = malloc(len);
if (!result)
return NULL;
return memcpy(result, str, len);
}
/**
+29 -29
View File
@@ -95,7 +95,7 @@ static void cmc_test_log(const char *unit_name, const char *current_test,
size_t str_len = strlen(current_test);
if (str_len < 53)
{
printf(cmc_test_color(3));
printf("%s", cmc_test_color(3));
for (size_t i = 0; i < 53 - str_len; i++)
putchar('.');
}
@@ -118,22 +118,22 @@ static void cmc_test_log(const char *unit_name, const char *current_test,
tinfo.assert_total = cmc_assert_total; \
tinfo.assert_failed = cmc_assert_failed; \
\
/* Tests */ \
cmc_timer_start(timer); \
\
printf(cmc_test_color(3)); \
printf("%s", cmc_test_color(3)); \
printf( \
" +---------------------------------------------------------------+\n"); \
printf(" | "); \
printf(cmc_test_color(0)); \
printf("%s", cmc_test_color(0)); \
printf("Unit "); \
printf(cmc_test_color(4)); \
printf("%s", cmc_test_color(4)); \
printf("%-56s", unit_name); \
printf(cmc_test_color(3)); \
printf("%s", cmc_test_color(3)); \
printf( \
" |\n +---------------------------------------------------------------+"); \
printf("%s\n", cmc_test_color(0)); \
\
/* Tests */ \
cmc_timer_start(timer); \
\
BODY; \
\
cmc_timer_stop(timer); \
@@ -147,57 +147,57 @@ static void cmc_test_log(const char *unit_name, const char *current_test,
tinfo.assert_total = cmc_assert_total - tinfo.assert_total; \
tinfo.assert_failed = cmc_assert_failed - tinfo.assert_failed; \
\
printf(cmc_test_color(3)); \
printf("%s", cmc_test_color(3)); \
printf( \
" +---------------------------------------------------------------+\n | "); \
printf(cmc_test_color(0)); \
printf("%s", cmc_test_color(0)); \
printf("Summary : "); \
printf(cmc_test_color(4)); \
printf("%s", cmc_test_color(4)); \
printf("%-52s", unit_name); \
printf("%s|\n", cmc_test_color(3)); \
printf( \
" +---------++----------------+-----------------+-----------------+\n | "); \
printf(cmc_test_color(0)); \
printf("%s", cmc_test_color(0)); \
printf("Tests "); \
printf(cmc_test_color(3)); \
printf("%s", cmc_test_color(3)); \
printf("||"); \
printf(cmc_test_color(5)); \
printf("%s", cmc_test_color(5)); \
printf(" Total %8" PRIuMAX "", tinfo.total); \
printf(cmc_test_color(3)); \
printf("%s", cmc_test_color(3)); \
printf(" | "); \
printf(cmc_test_color(2)); \
printf("%s", cmc_test_color(2)); \
printf("Passed %8" PRIuMAX "", tinfo.passed); \
printf(cmc_test_color(3)); \
printf("%s", cmc_test_color(3)); \
printf(" | "); \
printf(cmc_test_color(1)); \
printf("%s", cmc_test_color(1)); \
printf("Failed %8" PRIuMAX "", tinfo.failed); \
printf(cmc_test_color(3)); \
printf("%s", cmc_test_color(3)); \
printf(" |\n | "); \
printf(cmc_test_color(0)); \
printf("%s", cmc_test_color(0)); \
printf("Asserts "); \
printf(cmc_test_color(3)); \
printf("%s", cmc_test_color(3)); \
printf("||"); \
printf(cmc_test_color(5)); \
printf("%s", cmc_test_color(5)); \
printf(" Total %8" PRIuMAX "", tinfo.assert_total); \
printf(cmc_test_color(3)); \
printf("%s", cmc_test_color(3)); \
printf(" | "); \
printf(cmc_test_color(2)); \
printf("%s", cmc_test_color(2)); \
printf("Passed %8" PRIuMAX "", \
tinfo.assert_total - tinfo.assert_failed); \
printf(cmc_test_color(3)); \
printf("%s", cmc_test_color(3)); \
printf(" | "); \
printf(cmc_test_color(1)); \
printf("%s", cmc_test_color(1)); \
printf("Failed %8" PRIuMAX "", tinfo.assert_failed); \
printf(cmc_test_color(3)); \
printf("%s", cmc_test_color(3)); \
printf(" |\n"); \
printf( \
" +---------++----------------+-----------------+-----------------+\n | "); \
printf(cmc_test_color(0)); \
printf("%s", cmc_test_color(0)); \
printf("Total Runtime : %32.0f milliseconds", timer.result); \
printf(" %s|\n", cmc_test_color(3)); \
printf( \
" +---------------------------------------------------------------+\n"); \
printf(cmc_test_color(0)); \
printf("%s", cmc_test_color(0)); \
printf("\n\n"); \
\
return tinfo.failed; \
+61 -6
View File
@@ -38,6 +38,10 @@ CMC_CREATE_UNIT(Deque, true, {
cmc_assert_equals(ptr, NULL, d);
d = d_new(1000, NULL);
cmc_assert_equals(ptr, NULL, d);
d = d_new(UINT64_MAX, d_fval);
cmc_assert_equals(ptr, NULL, d);
@@ -59,9 +63,16 @@ CMC_CREATE_UNIT(Deque, true, {
cmc_assert_equals(ptr, NULL, d);
d = d_new_custom(1000, NULL, d_alloc_node, callbacks);
cmc_assert_equals(ptr, NULL, d);
d = d_new_custom(UINT64_MAX, d_fval, d_alloc_node, callbacks);
cmc_assert_equals(ptr, NULL, d);
if (d)
d_free(d);
});
CMC_CREATE_TEST(PFX##_clear(), {
@@ -76,9 +87,11 @@ CMC_CREATE_UNIT(Deque, true, {
cmc_assert_equals(size_t, 50, d_count(d));
d->flag = cmc_flags.ERROR;
d_clear(d);
cmc_assert_equals(size_t, 50, v_total_free);
cmc_assert_equals(int32_t, cmc_flags.OK, d->flag);
cmc_assert_equals(size_t, 0, d_count(d));
cmc_assert_equals(size_t, 100, d_capacity(d));
@@ -100,6 +113,18 @@ CMC_CREATE_UNIT(Deque, true, {
cmc_assert_equals(size_t, 500500, sum);
d->flag = cmc_flags.ERROR;
d_clear(d);
cmc_assert_equals(size_t, 1050, v_total_free);
cmc_assert_equals(int32_t, cmc_flags.OK, d->flag);
sum = 0;
for (size_t i = 0; i < d->capacity; i++)
sum += d->buffer[i];
cmc_assert_equals(size_t, 0, sum);
d_free(d);
cmc_assert_equals(size_t, 1050, v_total_free);
@@ -141,26 +166,40 @@ CMC_CREATE_UNIT(Deque, true, {
CMC_CREATE_TEST(PFX##_customize(), {
struct deque *d = d_new(100, d_fval);
d->flag = cmc_flags.ERROR;
d_customize(d, d_alloc_node, callbacks);
cmc_assert_equals(ptr, d_alloc_node, d->alloc);
cmc_assert_equals(ptr, callbacks, d->callbacks);
cmc_assert_equals(int32_t, cmc_flags.OK, d->flag);
d->flag = cmc_flags.ERROR;
d_customize(d, NULL, NULL);
cmc_assert_equals(ptr, &cmc_alloc_node_default, d->alloc);
cmc_assert_equals(ptr, NULL, d->callbacks);
cmc_assert_equals(int32_t, cmc_flags.OK, d->flag);
d_free(d);
});
CMC_CREATE_TEST(PFX##_push_front(), {
struct deque *d = d_new(100, d_fval);
total_create = 0;
struct deque *d = d_new_custom(100, d_fval, NULL, callbacks);
cmc_assert_not_equals(ptr, NULL, d);
cmc_assert(d_push_front(d, 10));
cmc_assert_equals(size_t, 1, d_count(d));
cmc_assert_equals(int32_t, 1, total_create);
d_customize(d, NULL, NULL);
d_clear(d);
for (size_t i = 0; i < 150; i++)
cmc_assert(d_push_front(d, i));
d_push_front(d, i);
cmc_assert_equals(size_t, 150, d_count(d));
cmc_assert_greater(size_t, 100, d_capacity(d));
@@ -172,7 +211,7 @@ CMC_CREATE_UNIT(Deque, true, {
cmc_assert_not_equals(ptr, NULL, d);
for (size_t i = 1; i <= 1000; i++)
cmc_assert(d_push_front(d, i));
d_push_front(d, i);
size_t sum = 0;
@@ -185,15 +224,28 @@ CMC_CREATE_UNIT(Deque, true, {
cmc_assert_equals(size_t, 500500, sum);
d_free(d);
cmc_assert_equals(int32_t, 1, total_create);
total_create = 0;
});
CMC_CREATE_TEST(PFX##_push_back(), {
struct deque *d = d_new(100, d_fval);
total_create = 0;
struct deque *d = d_new_custom(100, d_fval, NULL, callbacks);
cmc_assert_not_equals(ptr, NULL, d);
cmc_assert(d_push_front(d, 10));
cmc_assert_equals(size_t, 1, d_count(d));
cmc_assert_equals(int32_t, 1, total_create);
d_customize(d, NULL, NULL);
d_clear(d);
for (size_t i = 0; i < 150; i++)
cmc_assert(d_push_back(d, i));
d_push_back(d, i);
cmc_assert_equals(size_t, 150, d_count(d));
cmc_assert_greater(size_t, 100, d_capacity(d));
@@ -205,7 +257,7 @@ CMC_CREATE_UNIT(Deque, true, {
cmc_assert_not_equals(ptr, NULL, d);
for (size_t i = 1; i <= 1000; i++)
cmc_assert(d_push_back(d, i));
d_push_back(d, i);
size_t sum = 0;
@@ -218,6 +270,9 @@ CMC_CREATE_UNIT(Deque, true, {
cmc_assert_equals(size_t, 500500, sum);
d_free(d);
cmc_assert_equals(int32_t, 1, total_create);
total_create = 0;
});
CMC_CREATE_TEST(PFX##_pop_front(), {