From 329ef39c0fe382498dde48b5822b041a3804f618 Mon Sep 17 00:00:00 2001 From: "Rafael G. Martins" Date: Sun, 19 Apr 2015 16:45:20 -0300 Subject: error: added tests --- .gitignore | 1 + Makefile.am | 18 ++++++++++++ tests/check_error.c | 65 +++++++++++++++++++++++++++++++++++++++++++ tests/check_loader.c | 1 + tests/check_source_parser.c | 1 + tests/check_template_parser.c | 1 + 6 files changed, 87 insertions(+) create mode 100644 tests/check_error.c diff --git a/.gitignore b/.gitignore index 64014b2..c0943f3 100644 --- a/.gitignore +++ b/.gitignore @@ -40,6 +40,7 @@ Makefile.in /blogc # tests +/tests/check_error /tests/check_loader /tests/check_source_parser /tests/check_template_parser diff --git a/Makefile.am b/Makefile.am index 71747dc..0988b5f 100644 --- a/Makefile.am +++ b/Makefile.am @@ -81,12 +81,30 @@ blogc_LDADD = \ if USE_CMOCKA check_PROGRAMS += \ + tests/check_error \ tests/check_loader \ tests/check_source_parser \ tests/check_template_parser \ tests/check_utils \ $(NULL) +tests_check_error_SOURCES = \ + tests/check_error.c \ + $(NULL) + +tests_check_error_CFLAGS = \ + $(CMOCKA_CFLAGS) \ + $(NULL) + +tests_check_error_LDFLAGS = \ + -no-install \ + $(NULL) + +tests_check_error_LDADD = \ + $(CMOCKA_LIBS) \ + libblogc.la \ + $(NULL) + tests_check_loader_SOURCES = \ tests/check_loader.c \ $(NULL) diff --git a/tests/check_error.c b/tests/check_error.c new file mode 100644 index 0000000..59ac2f9 --- /dev/null +++ b/tests/check_error.c @@ -0,0 +1,65 @@ +/* + * blogc: A blog compiler. + * Copyright (C) 2015 Rafael G. Martins + * + * This program can be distributed under the terms of the BSD License. + * See the file COPYING. + */ + +#ifdef HAVE_CONFIG_H +#include +#endif /* HAVE_CONFIG_H */ + +#include +#include +#include +#include +#include +#include "../src/error.h" +#include "../src/utils/utils.h" + + +static void +test_error_new(void **state) +{ + blogc_error_t *error = blogc_error_new(1, "bola %s"); + assert_non_null(error); + assert_int_equal(error->type, 1); + assert_string_equal(error->msg, "bola %s"); + blogc_error_free(error); +} + + +static void +test_error_new_printf(void **state) +{ + blogc_error_t *error = blogc_error_new_printf(2, "bola %s", "guda"); + assert_non_null(error); + assert_int_equal(error->type, 2); + assert_string_equal(error->msg, "bola guda"); + blogc_error_free(error); +} + + +static void +test_error_parser(void **state) +{ + const char *a = "bola\nguda\nchunda\n"; + blogc_error_t *error = blogc_error_parser(1, a, strlen(a), 11, "asd %d", 10); + assert_non_null(error); + assert_int_equal(error->type, 1); + assert_string_equal(error->msg, "asd 10\nError occurred near to \"hunda\"."); + blogc_error_free(error); +} + + +int +main(void) +{ + const UnitTest tests[] = { + unit_test(test_error_new), + unit_test(test_error_new_printf), + unit_test(test_error_parser), + }; + return run_tests(tests); +} diff --git a/tests/check_loader.c b/tests/check_loader.c index c9f1432..08c5acc 100644 --- a/tests/check_loader.c +++ b/tests/check_loader.c @@ -16,6 +16,7 @@ #include #include #include "../src/loader.h" +#include "../src/utils/utils.h" static void diff --git a/tests/check_source_parser.c b/tests/check_source_parser.c index ede1f5e..90ebcc1 100644 --- a/tests/check_source_parser.c +++ b/tests/check_source_parser.c @@ -17,6 +17,7 @@ #include #include "../src/source-parser.h" #include "../src/error.h" +#include "../src/utils/utils.h" static void diff --git a/tests/check_template_parser.c b/tests/check_template_parser.c index b7ebd1c..9d67fe3 100644 --- a/tests/check_template_parser.c +++ b/tests/check_template_parser.c @@ -17,6 +17,7 @@ #include #include "../src/template-parser.h" #include "../src/error.h" +#include "../src/utils/utils.h" static void -- cgit v1.2.3-18-g5258