c-template
errors_test.c
Go to the documentation of this file.
1 #include <string.h>
2 #include <stdlib.h>
3 #include <stdarg.h>
4 #include <stddef.h>
5 #include <setjmp.h>
6 #include <cmocka.h>
7 #include <assert.h>
8 #include "../../include/utils/errors.h"
9 
10 #pragma GCC diagnostic ignored "-Wunused-parameter"
11 #pragma GCC diagnostic ignored "-Wunused-variable"
12 void test_new_cg_error(void **state) {
13  char *msg = "hello world";
14  cg_error *err = new_cg_error(msg);
15  assert(
16  strcmp(err->message, msg) == 0
17  );
18  free_cg_error(err);
19 }
20 
21 #pragma GCC diagnostic ignored "-Wunused-parameter"
22 #pragma GCC diagnostic ignored "-Wunused-variable"
23 void test_cg_error_string(void **state) {
24  char *msg = "hello world";
25  char *errstr = cg_error_string(msg);
26  assert(
27  strcmp(errstr, "hello world") == 0
28  );
29  free(errstr);
30 }
31 
32 #pragma GCC diagnostic ignored "-Wunused-parameter"
33 #pragma GCC diagnostic ignored "-Wunused-variable"
34 void test_wrap_cg_error(void **state) {
35  cg_error *err = new_cg_error("part1");
36  int response = wrap_cg_error(err, "part2");
37  assert(response == 0);
38  assert(
39  strcmp(err->message, "part1 | part2") == 0
40  );
41  free_cg_error(err);
42 }
43 
44 int main(void) {
45  const struct CMUnitTest tests[] = {
46  cmocka_unit_test(test_new_cg_error),
47  cmocka_unit_test(test_cg_error_string),
48  cmocka_unit_test(test_wrap_cg_error),
49  };
50  return cmocka_run_group_tests(tests, NULL, NULL);
51 }
test_wrap_cg_error
void test_wrap_cg_error(void **state)
Definition: errors_test.c:34
main
int main(void)
Definition: errors_test.c:44
cg_error_string
char * cg_error_string(char *message)
creates a new variable and moves memory of message into that variable returning it this appears to be...
Definition: errors.c:17
new_cg_error
cg_error * new_cg_error(char *message)
returns a cg_error struct containing message
Definition: errors.c:7
wrap_cg_error
int wrap_cg_error(cg_error *error, char *message)
appends message to the end of error->message uses realloc to maximize memory efficiency
Definition: errors.c:28
test_new_cg_error
void test_new_cg_error(void **state)
Definition: errors_test.c:12
free_cg_error
void free_cg_error(cg_error *error)
frees up resources associated with error
Definition: errors.c:39
cg_error::message
char * message
Definition: errors.h:15
cg_error
Definition: errors.h:14
test_cg_error_string
void test_cg_error_string(void **state)
Definition: errors_test.c:23