diff --git a/src/common.c b/src/common.c index 2bf6796..63c2955 100644 --- a/src/common.c +++ b/src/common.c @@ -23,6 +23,10 @@ #include "common.h" #include +#ifdef UNIT_TESTING +#include "testing.h" +#endif + static const char * flog_error_map[] = { [FLOG_ERROR_NONE] = "none", diff --git a/src/config.c b/src/config.c index 73032ec..ac80d20 100644 --- a/src/config.c +++ b/src/config.c @@ -32,12 +32,7 @@ #include #ifdef UNIT_TESTING -extern void mock_assert(const int result, const char* const expression, - const char * const file, const int line); - -#undef assert -#define assert(expression) \ - mock_assert((int)(expression), #expression, __FILE__, __LINE__); +#include "testing.h" #endif const int subsystem_len = 257; @@ -90,7 +85,7 @@ flog_config_new(int argc, char *argv[], FlogError *error) { poptReadDefaultConfig(context, 0); int option; - while ((option = poptGetNextOpt(context)) >= 0) { + while ((option = poptGetNextOpt(context)) > 0) { char *option_argument = poptGetOptArg(context); switch (option) { @@ -129,8 +124,6 @@ flog_config_new(int argc, char *argv[], FlogError *error) { flog_config_set_message_type(config, MSG_PRIVATE); break; } - - free(option_argument); } if (option < -1) { diff --git a/src/flog.c b/src/flog.c index 58aa30b..bee5914 100644 --- a/src/flog.c +++ b/src/flog.c @@ -29,12 +29,7 @@ #include "config.h" #ifdef UNIT_TESTING -extern void mock_assert(const int result, const char* const expression, - const char * const file, const int line); - -#undef assert -#define assert(expression) \ - mock_assert((int)(expression), #expression, __FILE__, __LINE__); +#include "testing.h" #endif #define OS_LOG_FORMAT_PUBLIC "%{public}s" diff --git a/src/testing.h b/src/testing.h new file mode 100644 index 0000000..06b43ac --- /dev/null +++ b/src/testing.h @@ -0,0 +1,19 @@ +#include + +extern void mock_assert(const int result, const char * const expression, + const char * const file, const int line); + +#undef assert +#define assert(expression) \ + mock_assert((int)(expression), #expression, __FILE__, __LINE__); + +extern void * _test_malloc(const size_t size, const char *file, const int line); +extern void * _test_realloc(void *ptr, const size_t size, const char *file, const int line); +extern void * _test_calloc(const size_t number_of_elements, const size_t size, + const char *file, const int line); +extern void _test_free(void * const ptr, const char *file, const int line); + +#define malloc(size) _test_malloc(size, __FILE__, __LINE__) +#define realloc(ptr, size, file, line) _test_realloc(ptr, size, __FILE__, __LINE__) +#define calloc(num, size) _test_calloc(num, size, __FILE__, __LINE__) +#define free(ptr) _test_free(ptr, __FILE__, __LINE__)