From 03a5fa0dfcf98fc006d90c821d2a10eafbcdc330 Mon Sep 17 00:00:00 2001 From: Jonas Gunz Date: Sun, 19 Sep 2021 16:21:04 +0200 Subject: zonefile: tests --- tests/main.c | 1 + tests/tests.h | 1 + tests/zonefile.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 46 insertions(+) create mode 100644 tests/zonefile.c diff --git a/tests/main.c b/tests/main.c index 3f60a3a..8dbe07e 100644 --- a/tests/main.c +++ b/tests/main.c @@ -19,6 +19,7 @@ int main() { suite_add_tcase(s, test_dns()); suite_add_tcase(s, test_tree()); + suite_add_tcase(s, test_zonefile()); sr = srunner_create(s); srunner_run_all(sr,CK_VERBOSE); diff --git a/tests/tests.h b/tests/tests.h index c3f576e..96ae1d6 100644 --- a/tests/tests.h +++ b/tests/tests.h @@ -14,3 +14,4 @@ TCase* test_dns(void); TCase* test_tree(void); +TCase* test_zonefile(void); diff --git a/tests/zonefile.c b/tests/zonefile.c new file mode 100644 index 0000000..a8004f9 --- /dev/null +++ b/tests/zonefile.c @@ -0,0 +1,44 @@ +/* + * tests/zonefile.c + * (c) 2021 Jonas Gunz + * License: MIT + */ + +#include "tests.h" + +#include "../src/zonefile.h" + +START_TEST (test_zonefile_string_split) { + int i, len; + const char* const refstr = "this is a test"; + char* str; + unsigned long str_len; + char* parts[4]; + char* expected_parts[4] = { + "this", "is", "a", "test" + }; + + str_len = strlen(refstr) + 1; + + str = malloc(str_len); + strncpy(str, refstr, str_len); + + for (i=0; i<4; i++) + parts[i] = NULL; + + len = zonefile_string_split(parts, 4, str, ' '); + ck_assert_int_eq(len, 4); + + for (i=0; i<4; i++) + ck_assert_str_eq(parts[i], expected_parts[i]); + + free(str); +} END_TEST + +TCase* test_zonefile(void) { + TCase *tc = tcase_create("DNS"); + + tcase_add_test(tc, test_zonefile_string_split); + + return tc; +} -- cgit v1.2.3