diff options
author | Jonas Gunz <himself@jonasgunz.de> | 2021-09-19 16:21:04 +0200 |
---|---|---|
committer | Jonas Gunz <himself@jonasgunz.de> | 2021-09-19 16:21:04 +0200 |
commit | 03a5fa0dfcf98fc006d90c821d2a10eafbcdc330 (patch) | |
tree | 687ea662c18dd5af61655361aff909f79fc4f076 /tests/zonefile.c | |
parent | 1a30093457b4f50a5c28fd8923007fc0e657ba09 (diff) | |
download | dns-03a5fa0dfcf98fc006d90c821d2a10eafbcdc330.tar.gz |
zonefile: tests
Diffstat (limited to 'tests/zonefile.c')
-rw-r--r-- | tests/zonefile.c | 44 |
1 files changed, 44 insertions, 0 deletions
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 <himself@jonasgunz.de> + * 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; +} |