diff --git a/.gitignore b/.gitignore index 2e0679b6bfe24829ca984bd02552ae865588d963..67d7e06c3a3015819353a6ca6300c7745bd3e69a 100644 --- a/.gitignore +++ b/.gitignore @@ -69,9 +69,6 @@ # zscanner /src/zscanner/libzscanner.pc /src/zscanner/scanner.c -/src/zscanner/tests/tmp/ -/src/zscanner/tests/unittests -/src/zscanner/tests/zscanner-tool /src/zscanner/version.h # Binaries @@ -84,14 +81,9 @@ /src/knsec3hash /src/knsupdate /src/kzonecheck -/src/rosedb_tool /src/utils/pykeymgr/pykeymgr -# Plugin binaries -/src/rosedb_tool - # Generated tarballs -/knot-*.tar.gz /knot-*.tar.xz # Code coverage diff --git a/Knot.files b/Knot.files index 29f8714f28e20daea609aaa90c4d79ee1731c9ac..507e0c2421df2601a7e13c459e207fa8ca383c4c 100644 --- a/Knot.files +++ b/Knot.files @@ -1,11 +1,3 @@ -libtap/runtests.c -libtap/tap/basic.c -libtap/tap/basic.h -libtap/tap/files.c -libtap/tap/files.h -libtap/tap/float.c -libtap/tap/float.h -libtap/tap/macros.h src/contrib/asan.h src/contrib/base32hex.c src/contrib/base32hex.h @@ -430,11 +422,6 @@ src/zscanner/functions.h src/zscanner/scanner.h src/zscanner/scanner.rl src/zscanner/scanner_body.rl -src/zscanner/tests/processing.c -src/zscanner/tests/processing.h -src/zscanner/tests/tests.c -src/zscanner/tests/tests.h -src/zscanner/tests/zscanner-tool.c tests-fuzz/fuzz_packet.c tests-fuzz/fuzz_zscanner.c tests-fuzz/knotd_wrap/afl-loop.h @@ -442,6 +429,14 @@ tests-fuzz/knotd_wrap/server.c tests-fuzz/knotd_wrap/tcp-handler.c tests-fuzz/knotd_wrap/udp-handler.c tests-fuzz/main.c +tests/_libtap/runtests.c +tests/_libtap/tap/basic.c +tests/_libtap/tap/basic.h +tests/_libtap/tap/files.c +tests/_libtap/tap/files.h +tests/_libtap/tap/float.c +tests/_libtap/tap/float.h +tests/_libtap/tap/macros.h tests/contrib/test_base32hex.c tests/contrib/test_base64.c tests/contrib/test_dynarray.c @@ -523,3 +518,6 @@ tests/modules/test_onlinesign.c tests/modules/test_rrl.c tests/utils/test_cert.c tests/utils/test_lookup.c +tests/zscanner/processing.c +tests/zscanner/processing.h +tests/zscanner/zscanner-tool.c diff --git a/Knot.includes b/Knot.includes index 076d39e8627270c745a8bd79bf582fbfbc6d53e9..71cc45d2811d67cd3952337024006213552a56e3 100644 --- a/Knot.includes +++ b/Knot.includes @@ -1,4 +1,3 @@ -libtap src src/contrib src/dnssec @@ -8,4 +7,4 @@ src/dnssec/shared src/zscanner tests tests-fuzz -tests-fuzz/wrap +tests-fuzz/knotd_wrap diff --git a/Makefile.am b/Makefile.am index 88d86ad861fc3f889679603c20f3163c8dd663f4..618e77622cf1a014275e29e3ac4996009c171c57 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,5 +1,5 @@ ACLOCAL_AMFLAGS = -I m4 -SUBDIRS = libtap src tests tests-fuzz python samples doc +SUBDIRS = src tests tests-fuzz python samples doc .PHONY: singlehtml install-singlehtml singlehtml install-singlehtml: @@ -7,8 +7,7 @@ singlehtml install-singlehtml: .PHONY: check-compile check-compile: - $(MAKE) $(AM_MAKEFLAGS) -C libtap $@ - $(MAKE) $(AM_MAKEFLAGS) -C src $@ + $(MAKE) $(AM_MAKEFLAGS) -C tests/_libtap $@ $(MAKE) $(AM_MAKEFLAGS) -C tests $@ $(MAKE) $(AM_MAKEFLAGS) -C tests-fuzz $@ diff --git a/configure.ac b/configure.ac index d32fa9cfa94eb501a4c6142e76ab982c2f70b366..c0171b7ee98f45539f6d6395364a5d642c7bb9ec 100644 --- a/configure.ac +++ b/configure.ac @@ -581,8 +581,8 @@ AC_DEFINE_UNQUOTED([CONFIGURE_SUMMARY],["$result_msg_esc"],[Configure summary]) AC_CONFIG_FILES([Makefile Doxyfile doc/Makefile - libtap/Makefile tests/Makefile + tests/_libtap/Makefile tests-fuzz/Makefile samples/Makefile python/Makefile diff --git a/scripts/update-project-files.py b/scripts/update-project-files.py index c8018a8b7e069e8479d25180447ab1f1c76b3116..004fbb37bed3dc1987b0aed772f139eba2c0ae87 100755 --- a/scripts/update-project-files.py +++ b/scripts/update-project-files.py @@ -5,10 +5,9 @@ # SOURCES = [ - "src/*.c", "src/*.h", "src/*.rl", "src/*.l", - "src/*.y", "tests/*.c", "tests/*.h", + "src/*.c", "src/*.h", "src/*.rl", + "tests/*.c", "tests/*.h", "tests-fuzz/*.c", "tests-fuzz/*.h", - "libtap/*.c", "libtap/*.h", ] OUTPUT_FILE = "Knot.files" diff --git a/src/Makefile.am b/src/Makefile.am index 614c0b0be6037304c139d27f3c2d90ea1ae4421b..4211d743296eed42a776dd858b5b4f884ba0285e 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,11 +1,6 @@ ACLOCAL_AMFLAGS = -I $(top_srcdir)/m4 SUBDIRS = zscanner dnssec contrib/dnstap . -.PHONY: check-compile -check-compile: - $(MAKE) $(AM_MAKEFLAGS) -C zscanner $@ - $(MAKE) $(AM_MAKEFLAGS) -C dnssec $@ - lib_LTLIBRARIES = \ libknot.la noinst_LTLIBRARIES = \ diff --git a/src/zscanner/Makefile.am b/src/zscanner/Makefile.am index 60841453ad63871732f51db6db77be7459813525..8cf6520f9c1c9d129428c5788089481762abcef4 100644 --- a/src/zscanner/Makefile.am +++ b/src/zscanner/Makefile.am @@ -44,5 +44,3 @@ nodist_libzscanner_la_SOURCES = \ libzscanner_la_CPPFLAGS = $(AM_CPPFLAGS) $(CFLAG_VISIBILITY) libzscanner_la_LDFLAGS = \ $(libzscanner_VERSION_INFO) - -include $(srcdir)/tests/Makefile.inc diff --git a/src/zscanner/tests/.gitignore b/src/zscanner/tests/.gitignore deleted file mode 100644 index 7c67a150c8b823ce8a88d107f950b76340c094ee..0000000000000000000000000000000000000000 --- a/src/zscanner/tests/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/runtests.log diff --git a/src/zscanner/tests/Makefile.inc b/src/zscanner/tests/Makefile.inc deleted file mode 100644 index d663e2cdd067813c73fec68381ab3568e3ef44bf..0000000000000000000000000000000000000000 --- a/src/zscanner/tests/Makefile.inc +++ /dev/null @@ -1,45 +0,0 @@ -LDADD = \ - $(top_builddir)/src/zscanner/libzscanner.la - -tests_zscanner_tool_SOURCES = \ - tests/zscanner-tool.c \ - tests/tests.h \ - tests/tests.c \ - tests/processing.h \ - tests/processing.c - -check_PROGRAMS = \ - tests/zscanner-tool - -check_SCRIPTS = \ - tests/unittests - -CLEANFILES += $(check_SCRIPTS) tests/runtests.log - -edit = sed \ - -e 's|@top_srcdir[@]|$(abs_top_srcdir)|g' \ - -e 's|@top_builddir[@]|$(abs_top_builddir)|g' - -tests/unittests: - @$(edit) < $(top_srcdir)/src/zscanner/$@.in > $(top_builddir)/src/zscanner/$@ - @chmod +x $(top_builddir)/src/zscanner/$@ - -check-compile: $(check_SCRIPTS) $(check_PROGRAMS) - - -AM_V_RUNTESTS = $(am__v_RUNTESTS_@AM_V@) -am__v_RUNTESTS_ = $(am__v_RUNTESTS_@AM_DEFAULT_V@) -am__v_RUNTESTS_0 = -am__v_RUNTESTS_1 = RET=$$?; if [ "$$RET" != "0" ]; then cat "$(top_builddir)/src/zscanner/tests/runtests.log"; exit $$RET; fi -check-local: $(check_PROGRAMS) - @$(top_builddir)/libtap/runtests \ - -s $(top_srcdir)/src/zscanner/tests \ - -b $(top_builddir)/src/zscanner/tests \ - -L $(top_builddir)/src/zscanner/tests/runtests.log \ - $(top_builddir)/src/zscanner/tests/unittests; \ - $(AM_V_RUNTESTS) - -EXTRA_DIST += \ - tests/unittests.in \ - tests/TESTS \ - tests/data diff --git a/src/zscanner/tests/tests.c b/src/zscanner/tests/tests.c deleted file mode 100644 index 3f0725bf575cd021713114814ff2fa71c9283b3f..0000000000000000000000000000000000000000 --- a/src/zscanner/tests/tests.c +++ /dev/null @@ -1,79 +0,0 @@ -/* Copyright (C) 2011 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz> - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -#include <inttypes.h> -#include <stdlib.h> -#include <stdio.h> -#include <time.h> - -#include "tests/tests.h" -#include "functions.c" - -int test__date_to_timestamp(void) -{ - time_t ref_timestamp, max_timestamp; - uint32_t test_timestamp; - uint8_t buffer[16]; - uint64_t val1, val2; // For time_t type unification. - struct tm tm; - - // Set UTC for strftime. - putenv("TZ=UTC"); - tzset(); - - // Get maximal allowed timestamp. - strptime("21051231235959", "%Y%m%d%H%M%S", &tm); - max_timestamp = mktime(&tm); - - // Testing loop over whole input interval. - for (ref_timestamp = 0; - ref_timestamp < max_timestamp; - ref_timestamp += 1) { - struct tm result; - // Get reference (correct) timestamp. - strftime((char*)buffer, sizeof(buffer), "%Y%m%d%H%M%S", - gmtime_r(&ref_timestamp, &result)); - - // Get testing timestamp. - test_timestamp = 0U; // prevents Wunitialized - date_to_timestamp(buffer, &test_timestamp); - - // Some continuous loging. - if (ref_timestamp % 10000000 == 0) { - val1 = ref_timestamp; - printf("%s = %"PRIu64"\n", buffer, val1); - } - - // Comparing results. - if (ref_timestamp != test_timestamp) { - val1 = ref_timestamp; - - if (ref_timestamp > test_timestamp) { - val2 = ref_timestamp - test_timestamp; - printf("%s = %"PRIu64", in - out = %"PRIu64"\n", - buffer, val1, val2); - } else { - val2 = test_timestamp - ref_timestamp; - printf("%s = %"PRIu64", out - in = %"PRIu64"\n", - buffer, val1, val2); - } - - return -1; - } - } - - return 0; -} diff --git a/src/zscanner/tests/tests.h b/src/zscanner/tests/tests.h deleted file mode 100644 index 475c6e87b17c3b665527b5e463d47e74dd810029..0000000000000000000000000000000000000000 --- a/src/zscanner/tests/tests.h +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright (C) 2017 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz> - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. - */ -/*! - * \file - * - * \brief Zone scanner test functions. - * - * \addtogroup zone_scanner_test - * @{ - */ - -#pragma once - -int test__date_to_timestamp(void); - -/*! @} */ diff --git a/tests/.gitignore b/tests/.gitignore index d16f4525ea180914823ef4c018ea54ec691be903..8e138bab06cdfb5e99d6690c5ff72eefc50ceabe 100644 --- a/tests/.gitignore +++ b/tests/.gitignore @@ -87,3 +87,7 @@ /utils/test_cert /utils/test_lookup + +/zscanner/tmp +/zscanner/test_zscanner +/zscanner/zscanner-tool diff --git a/tests/Makefile.am b/tests/Makefile.am index ac1a44c0b1898d413b137f34c4c3ef7f50f40571..ca070c794bcfe6c56a3859fdddfe67915f762fae 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -1,6 +1,9 @@ +ACLOCAL_AMFLAGS = -I m4 +SUBDIRS = _libtap . + AM_CPPFLAGS = \ -include $(top_builddir)/src/config.h \ - -I$(top_srcdir)/libtap \ + -I$(top_srcdir)/tests/_libtap \ -I$(top_srcdir)/src \ -I$(top_srcdir)/src/dnssec/lib \ -I$(top_srcdir)/src/dnssec/shared \ @@ -8,13 +11,20 @@ AM_CPPFLAGS = \ $(gnutls_CFLAGS) LDADD = \ - $(top_builddir)/libtap/libtap.la \ + $(top_builddir)/tests/_libtap/libtap.la \ $(top_builddir)/src/dnssec/libdnssec.la \ $(top_builddir)/src/libknot.la \ $(top_builddir)/src/libknotd.la \ - $(top_builddir)/src/libcontrib.la + $(top_builddir)/src/libcontrib.la \ + $(top_builddir)/src/zscanner/libzscanner.la -EXTRA_DIST = dnssec/sample_keys.h +EXTRA_DIST = \ + dnssec/sample_keys.h \ + knot/semantic_check_data \ + knot/test_semantic_check.in \ + zscanner/data \ + zscanner/test_zscanner.in \ + zscanner/TESTS check_PROGRAMS = \ contrib/test_base32hex \ @@ -122,7 +132,7 @@ check_PROGRAMS += \ endif endif -dnssec_keystore_pkcs11_CPPFLAGS = \ +dnssec_test_keystore_pkcs11_CPPFLAGS = \ $(AM_CPPFLAGS) \ -DLIBDIR='"$(libdir)"' @@ -131,7 +141,7 @@ utils_test_lookup_CPPFLAGS = \ $(libedit_CFLAGS) utils_test_lookup_LDADD = \ - $(top_builddir)/libtap/libtap.la \ + $(top_builddir)/tests/_libtap/libtap.la \ $(top_builddir)/src/libknotus.la \ $(libedit_LIBS) @@ -140,13 +150,35 @@ utils_test_cert_CPPFLAGS = \ $(libedit_CFLAGS) utils_test_cert_LDADD = \ - $(top_builddir)/libtap/libtap.la \ + $(top_builddir)/tests/_libtap/libtap.la \ $(top_builddir)/src/libknotus.la \ $(libedit_LIBS) -CLEANFILES = runtests.log +EXTRA_PROGRAMS = \ + zscanner/zscanner-tool + +zscanner_zscanner_tool_SOURCES = \ + zscanner/zscanner-tool.c \ + zscanner/processing.h \ + zscanner/processing.c + +check_SCRIPTS = \ + knot/test_semantic_check \ + zscanner/test_zscanner + +edit = $(SED) \ + -e 's|@top_srcdir[@]|$(abs_top_srcdir)|g' \ + -e 's|@top_builddir[@]|$(abs_top_builddir)|g' + +knot/test_semantic_check: + @$(edit) < $(top_srcdir)/tests/$@.in > $(top_builddir)/tests/$@ + @chmod +x $(top_builddir)/tests/$@ + +zscanner/test_zscanner: zscanner/zscanner-tool + @$(edit) < $(top_srcdir)/tests/$@.in > $(top_builddir)/tests/$@ + @chmod +x $(top_builddir)/tests/$@ -include $(srcdir)/knot/semantic_check_data/Makefile.inc +CLEANFILES = $(check_SCRIPTS) $(EXTRA_PROGRAMS) runtests.log check-compile: $(check_PROGRAMS) $(check_SCRIPTS) @@ -155,10 +187,8 @@ am__v_RUNTESTS_ = $(am__v_RUNTESTS_@AM_DEFAULT_V@) am__v_RUNTESTS_0 = am__v_RUNTESTS_1 = RET=$$?; if [ "$$RET" != "0" ]; then cat "$(builddir)/runtests.log"; exit $$RET; fi check-local: $(check_PROGRAMS) $(check_SCRIPTS) - @$(top_builddir)/libtap/runtests -s $(srcdir) \ - -b $(builddir) \ - -L $(builddir)/runtests.log \ - $(check_PROGRAMS) $(check_SCRIPTS); \ + @$(top_builddir)/tests/_libtap/runtests -s $(srcdir) -b $(builddir) \ + -L $(builddir)/runtests.log $(check_PROGRAMS) $(check_SCRIPTS); \ $(AM_V_RUNTESTS) knot_test_acl_SOURCES = knot/test_acl.c knot/test_conf.h diff --git a/libtap/.gitignore b/tests/_libtap/.gitignore similarity index 100% rename from libtap/.gitignore rename to tests/_libtap/.gitignore diff --git a/libtap/Makefile.am b/tests/_libtap/Makefile.am similarity index 73% rename from libtap/Makefile.am rename to tests/_libtap/Makefile.am index 81c4d288cd13dbc1cccbbd74c7fb1bc7d6bcbb2e..f14da0e1b0fac1d34077d4cc6e76ea3342166854 100644 --- a/libtap/Makefile.am +++ b/tests/_libtap/Makefile.am @@ -3,9 +3,12 @@ AM_CPPFLAGS = \ -I$(top_srcdir)/src libtap_la_SOURCES = \ - tap/basic.c tap/basic.h \ - tap/files.c tap/files.h \ - tap/float.c tap/float.h \ + tap/basic.c \ + tap/basic.h \ + tap/files.c \ + tap/files.h \ + tap/float.c \ + tap/float.h \ tap/macros.h check_LTLIBRARIES = libtap.la diff --git a/libtap/README b/tests/_libtap/README similarity index 100% rename from libtap/README rename to tests/_libtap/README diff --git a/libtap/runtests.c b/tests/_libtap/runtests.c similarity index 100% rename from libtap/runtests.c rename to tests/_libtap/runtests.c diff --git a/libtap/tap/basic.c b/tests/_libtap/tap/basic.c similarity index 100% rename from libtap/tap/basic.c rename to tests/_libtap/tap/basic.c diff --git a/libtap/tap/basic.h b/tests/_libtap/tap/basic.h similarity index 100% rename from libtap/tap/basic.h rename to tests/_libtap/tap/basic.h diff --git a/libtap/tap/files.c b/tests/_libtap/tap/files.c similarity index 100% rename from libtap/tap/files.c rename to tests/_libtap/tap/files.c diff --git a/libtap/tap/files.h b/tests/_libtap/tap/files.h similarity index 100% rename from libtap/tap/files.h rename to tests/_libtap/tap/files.h diff --git a/libtap/tap/float.c b/tests/_libtap/tap/float.c similarity index 100% rename from libtap/tap/float.c rename to tests/_libtap/tap/float.c diff --git a/libtap/tap/float.h b/tests/_libtap/tap/float.h similarity index 100% rename from libtap/tap/float.h rename to tests/_libtap/tap/float.h diff --git a/libtap/tap/libtap.sh b/tests/_libtap/tap/libtap.sh similarity index 100% rename from libtap/tap/libtap.sh rename to tests/_libtap/tap/libtap.sh diff --git a/libtap/tap/macros.h b/tests/_libtap/tap/macros.h similarity index 100% rename from libtap/tap/macros.h rename to tests/_libtap/tap/macros.h diff --git a/tests/knot/semantic_check_data/Makefile.inc b/tests/knot/semantic_check_data/Makefile.inc deleted file mode 100644 index 9005c312acafe7343dea645a087608b6978ccea1..0000000000000000000000000000000000000000 --- a/tests/knot/semantic_check_data/Makefile.inc +++ /dev/null @@ -1,16 +0,0 @@ -check_SCRIPTS = \ - knot/test_semantic_check - -CLEANFILES += $(check_SCRIPTS) - -edit = $(SED) \ - -e 's|@top_srcdir[@]|$(abs_top_srcdir)|g' \ - -e 's|@top_builddir[@]|$(abs_top_builddir)|g' - -knot/test_semantic_check: $(top_srcdir)/tests/knot/test_semantic_check.in - @$(edit) < $(top_srcdir)/tests/knot/test_semantic_check.in > $(top_builddir)/tests/knot/test_semantic_check - @chmod +x $(top_builddir)/tests/knot/test_semantic_check - -EXTRA_DIST += \ - knot/test_semantic_check.in \ - knot/semantic_check_data diff --git a/tests/knot/test_semantic_check.in b/tests/knot/test_semantic_check.in index 9a769e1b8627bf3b2004a845dc3cc780fa21bd34..bc8f2be9780fae897bdd55cda369f82dcb16fb85 100644 --- a/tests/knot/test_semantic_check.in +++ b/tests/knot/test_semantic_check.in @@ -3,7 +3,7 @@ KZONECHECK="@top_builddir@/src/kzonecheck" DATA="@top_srcdir@/tests/knot/semantic_check_data" -. "@top_srcdir@/libtap/tap/libtap.sh" +. "@top_srcdir@/tests/_libtap/tap/libtap.sh" TMPDIR=$(test_tmpdir) LOG="$TMPDIR/log" diff --git a/src/zscanner/tests/TESTS b/tests/zscanner/TESTS similarity index 100% rename from src/zscanner/tests/TESTS rename to tests/zscanner/TESTS diff --git a/src/zscanner/tests/data/00-0_general.in b/tests/zscanner/data/00-0_general.in similarity index 100% rename from src/zscanner/tests/data/00-0_general.in rename to tests/zscanner/data/00-0_general.in diff --git a/src/zscanner/tests/data/00-0_general.out b/tests/zscanner/data/00-0_general.out similarity index 100% rename from src/zscanner/tests/data/00-0_general.out rename to tests/zscanner/data/00-0_general.out diff --git a/src/zscanner/tests/data/00-1_general.in b/tests/zscanner/data/00-1_general.in similarity index 100% rename from src/zscanner/tests/data/00-1_general.in rename to tests/zscanner/data/00-1_general.in diff --git a/src/zscanner/tests/data/00-1_general.out b/tests/zscanner/data/00-1_general.out similarity index 100% rename from src/zscanner/tests/data/00-1_general.out rename to tests/zscanner/data/00-1_general.out diff --git a/src/zscanner/tests/data/00-2_general.in b/tests/zscanner/data/00-2_general.in similarity index 100% rename from src/zscanner/tests/data/00-2_general.in rename to tests/zscanner/data/00-2_general.in diff --git a/src/zscanner/tests/data/00-2_general.out b/tests/zscanner/data/00-2_general.out similarity index 100% rename from src/zscanner/tests/data/00-2_general.out rename to tests/zscanner/data/00-2_general.out diff --git a/src/zscanner/tests/data/00-3_general.in b/tests/zscanner/data/00-3_general.in similarity index 100% rename from src/zscanner/tests/data/00-3_general.in rename to tests/zscanner/data/00-3_general.in diff --git a/src/zscanner/tests/data/00-3_general.out b/tests/zscanner/data/00-3_general.out similarity index 100% rename from src/zscanner/tests/data/00-3_general.out rename to tests/zscanner/data/00-3_general.out diff --git a/src/zscanner/tests/data/00-4_general.in b/tests/zscanner/data/00-4_general.in similarity index 100% rename from src/zscanner/tests/data/00-4_general.in rename to tests/zscanner/data/00-4_general.in diff --git a/src/zscanner/tests/data/00-4_general.out b/tests/zscanner/data/00-4_general.out similarity index 100% rename from src/zscanner/tests/data/00-4_general.out rename to tests/zscanner/data/00-4_general.out diff --git a/src/zscanner/tests/data/01_owner.in b/tests/zscanner/data/01_owner.in similarity index 100% rename from src/zscanner/tests/data/01_owner.in rename to tests/zscanner/data/01_owner.in diff --git a/src/zscanner/tests/data/01_owner.out b/tests/zscanner/data/01_owner.out similarity index 100% rename from src/zscanner/tests/data/01_owner.out rename to tests/zscanner/data/01_owner.out diff --git a/src/zscanner/tests/data/02_class.in b/tests/zscanner/data/02_class.in similarity index 100% rename from src/zscanner/tests/data/02_class.in rename to tests/zscanner/data/02_class.in diff --git a/src/zscanner/tests/data/02_class.out b/tests/zscanner/data/02_class.out similarity index 100% rename from src/zscanner/tests/data/02_class.out rename to tests/zscanner/data/02_class.out diff --git a/src/zscanner/tests/data/03_rrttl.in b/tests/zscanner/data/03_rrttl.in similarity index 100% rename from src/zscanner/tests/data/03_rrttl.in rename to tests/zscanner/data/03_rrttl.in diff --git a/src/zscanner/tests/data/03_rrttl.out b/tests/zscanner/data/03_rrttl.out similarity index 100% rename from src/zscanner/tests/data/03_rrttl.out rename to tests/zscanner/data/03_rrttl.out diff --git a/src/zscanner/tests/data/04-0_ORIGIN.in b/tests/zscanner/data/04-0_ORIGIN.in similarity index 100% rename from src/zscanner/tests/data/04-0_ORIGIN.in rename to tests/zscanner/data/04-0_ORIGIN.in diff --git a/src/zscanner/tests/data/04-0_ORIGIN.out b/tests/zscanner/data/04-0_ORIGIN.out similarity index 100% rename from src/zscanner/tests/data/04-0_ORIGIN.out rename to tests/zscanner/data/04-0_ORIGIN.out diff --git a/src/zscanner/tests/data/04-1_ORIGIN.in b/tests/zscanner/data/04-1_ORIGIN.in similarity index 100% rename from src/zscanner/tests/data/04-1_ORIGIN.in rename to tests/zscanner/data/04-1_ORIGIN.in diff --git a/src/zscanner/tests/data/04-1_ORIGIN.out b/tests/zscanner/data/04-1_ORIGIN.out similarity index 100% rename from src/zscanner/tests/data/04-1_ORIGIN.out rename to tests/zscanner/data/04-1_ORIGIN.out diff --git a/src/zscanner/tests/data/04-2_ORIGIN.in b/tests/zscanner/data/04-2_ORIGIN.in similarity index 100% rename from src/zscanner/tests/data/04-2_ORIGIN.in rename to tests/zscanner/data/04-2_ORIGIN.in diff --git a/src/zscanner/tests/data/04-2_ORIGIN.out b/tests/zscanner/data/04-2_ORIGIN.out similarity index 100% rename from src/zscanner/tests/data/04-2_ORIGIN.out rename to tests/zscanner/data/04-2_ORIGIN.out diff --git a/src/zscanner/tests/data/04-3_ORIGIN.in b/tests/zscanner/data/04-3_ORIGIN.in similarity index 100% rename from src/zscanner/tests/data/04-3_ORIGIN.in rename to tests/zscanner/data/04-3_ORIGIN.in diff --git a/src/zscanner/tests/data/04-3_ORIGIN.out b/tests/zscanner/data/04-3_ORIGIN.out similarity index 100% rename from src/zscanner/tests/data/04-3_ORIGIN.out rename to tests/zscanner/data/04-3_ORIGIN.out diff --git a/src/zscanner/tests/data/04-4_ORIGIN.in b/tests/zscanner/data/04-4_ORIGIN.in similarity index 100% rename from src/zscanner/tests/data/04-4_ORIGIN.in rename to tests/zscanner/data/04-4_ORIGIN.in diff --git a/src/zscanner/tests/data/04-4_ORIGIN.out b/tests/zscanner/data/04-4_ORIGIN.out similarity index 100% rename from src/zscanner/tests/data/04-4_ORIGIN.out rename to tests/zscanner/data/04-4_ORIGIN.out diff --git a/src/zscanner/tests/data/04-5_ORIGIN.in b/tests/zscanner/data/04-5_ORIGIN.in similarity index 100% rename from src/zscanner/tests/data/04-5_ORIGIN.in rename to tests/zscanner/data/04-5_ORIGIN.in diff --git a/src/zscanner/tests/data/04-5_ORIGIN.out b/tests/zscanner/data/04-5_ORIGIN.out similarity index 100% rename from src/zscanner/tests/data/04-5_ORIGIN.out rename to tests/zscanner/data/04-5_ORIGIN.out diff --git a/src/zscanner/tests/data/04-6_ORIGIN.in b/tests/zscanner/data/04-6_ORIGIN.in similarity index 100% rename from src/zscanner/tests/data/04-6_ORIGIN.in rename to tests/zscanner/data/04-6_ORIGIN.in diff --git a/src/zscanner/tests/data/04-6_ORIGIN.out b/tests/zscanner/data/04-6_ORIGIN.out similarity index 100% rename from src/zscanner/tests/data/04-6_ORIGIN.out rename to tests/zscanner/data/04-6_ORIGIN.out diff --git a/src/zscanner/tests/data/04-7_ORIGIN.in b/tests/zscanner/data/04-7_ORIGIN.in similarity index 100% rename from src/zscanner/tests/data/04-7_ORIGIN.in rename to tests/zscanner/data/04-7_ORIGIN.in diff --git a/src/zscanner/tests/data/04-7_ORIGIN.out b/tests/zscanner/data/04-7_ORIGIN.out similarity index 100% rename from src/zscanner/tests/data/04-7_ORIGIN.out rename to tests/zscanner/data/04-7_ORIGIN.out diff --git a/src/zscanner/tests/data/04-8_ORIGIN.in b/tests/zscanner/data/04-8_ORIGIN.in similarity index 100% rename from src/zscanner/tests/data/04-8_ORIGIN.in rename to tests/zscanner/data/04-8_ORIGIN.in diff --git a/src/zscanner/tests/data/04-8_ORIGIN.out b/tests/zscanner/data/04-8_ORIGIN.out similarity index 100% rename from src/zscanner/tests/data/04-8_ORIGIN.out rename to tests/zscanner/data/04-8_ORIGIN.out diff --git a/src/zscanner/tests/data/04-9_ORIGIN.in b/tests/zscanner/data/04-9_ORIGIN.in similarity index 100% rename from src/zscanner/tests/data/04-9_ORIGIN.in rename to tests/zscanner/data/04-9_ORIGIN.in diff --git a/src/zscanner/tests/data/04-9_ORIGIN.out b/tests/zscanner/data/04-9_ORIGIN.out similarity index 100% rename from src/zscanner/tests/data/04-9_ORIGIN.out rename to tests/zscanner/data/04-9_ORIGIN.out diff --git a/src/zscanner/tests/data/05-0_TTL.in b/tests/zscanner/data/05-0_TTL.in similarity index 100% rename from src/zscanner/tests/data/05-0_TTL.in rename to tests/zscanner/data/05-0_TTL.in diff --git a/src/zscanner/tests/data/05-0_TTL.out b/tests/zscanner/data/05-0_TTL.out similarity index 100% rename from src/zscanner/tests/data/05-0_TTL.out rename to tests/zscanner/data/05-0_TTL.out diff --git a/src/zscanner/tests/data/05-1_TTL.in b/tests/zscanner/data/05-1_TTL.in similarity index 100% rename from src/zscanner/tests/data/05-1_TTL.in rename to tests/zscanner/data/05-1_TTL.in diff --git a/src/zscanner/tests/data/05-1_TTL.out b/tests/zscanner/data/05-1_TTL.out similarity index 100% rename from src/zscanner/tests/data/05-1_TTL.out rename to tests/zscanner/data/05-1_TTL.out diff --git a/src/zscanner/tests/data/05-2_TTL.in b/tests/zscanner/data/05-2_TTL.in similarity index 100% rename from src/zscanner/tests/data/05-2_TTL.in rename to tests/zscanner/data/05-2_TTL.in diff --git a/src/zscanner/tests/data/05-2_TTL.out b/tests/zscanner/data/05-2_TTL.out similarity index 100% rename from src/zscanner/tests/data/05-2_TTL.out rename to tests/zscanner/data/05-2_TTL.out diff --git a/src/zscanner/tests/data/05-3_TTL.in b/tests/zscanner/data/05-3_TTL.in similarity index 100% rename from src/zscanner/tests/data/05-3_TTL.in rename to tests/zscanner/data/05-3_TTL.in diff --git a/src/zscanner/tests/data/05-3_TTL.out b/tests/zscanner/data/05-3_TTL.out similarity index 100% rename from src/zscanner/tests/data/05-3_TTL.out rename to tests/zscanner/data/05-3_TTL.out diff --git a/src/zscanner/tests/data/05-4_TTL.in b/tests/zscanner/data/05-4_TTL.in similarity index 100% rename from src/zscanner/tests/data/05-4_TTL.in rename to tests/zscanner/data/05-4_TTL.in diff --git a/src/zscanner/tests/data/05-4_TTL.out b/tests/zscanner/data/05-4_TTL.out similarity index 100% rename from src/zscanner/tests/data/05-4_TTL.out rename to tests/zscanner/data/05-4_TTL.out diff --git a/src/zscanner/tests/data/06-0_INCLUDE.in b/tests/zscanner/data/06-0_INCLUDE.in similarity index 100% rename from src/zscanner/tests/data/06-0_INCLUDE.in rename to tests/zscanner/data/06-0_INCLUDE.in diff --git a/src/zscanner/tests/data/06-0_INCLUDE.out b/tests/zscanner/data/06-0_INCLUDE.out similarity index 100% rename from src/zscanner/tests/data/06-0_INCLUDE.out rename to tests/zscanner/data/06-0_INCLUDE.out diff --git a/src/zscanner/tests/data/06-1_INCLUDE.in b/tests/zscanner/data/06-1_INCLUDE.in similarity index 100% rename from src/zscanner/tests/data/06-1_INCLUDE.in rename to tests/zscanner/data/06-1_INCLUDE.in diff --git a/src/zscanner/tests/data/06-1_INCLUDE.out b/tests/zscanner/data/06-1_INCLUDE.out similarity index 100% rename from src/zscanner/tests/data/06-1_INCLUDE.out rename to tests/zscanner/data/06-1_INCLUDE.out diff --git a/src/zscanner/tests/data/06-2_INCLUDE.in b/tests/zscanner/data/06-2_INCLUDE.in similarity index 100% rename from src/zscanner/tests/data/06-2_INCLUDE.in rename to tests/zscanner/data/06-2_INCLUDE.in diff --git a/src/zscanner/tests/data/06-2_INCLUDE.out b/tests/zscanner/data/06-2_INCLUDE.out similarity index 100% rename from src/zscanner/tests/data/06-2_INCLUDE.out rename to tests/zscanner/data/06-2_INCLUDE.out diff --git a/src/zscanner/tests/data/06-3_INCLUDE.in b/tests/zscanner/data/06-3_INCLUDE.in similarity index 100% rename from src/zscanner/tests/data/06-3_INCLUDE.in rename to tests/zscanner/data/06-3_INCLUDE.in diff --git a/src/zscanner/tests/data/06-3_INCLUDE.out b/tests/zscanner/data/06-3_INCLUDE.out similarity index 100% rename from src/zscanner/tests/data/06-3_INCLUDE.out rename to tests/zscanner/data/06-3_INCLUDE.out diff --git a/src/zscanner/tests/data/06-4_INCLUDE.in b/tests/zscanner/data/06-4_INCLUDE.in similarity index 100% rename from src/zscanner/tests/data/06-4_INCLUDE.in rename to tests/zscanner/data/06-4_INCLUDE.in diff --git a/src/zscanner/tests/data/06-4_INCLUDE.out b/tests/zscanner/data/06-4_INCLUDE.out similarity index 100% rename from src/zscanner/tests/data/06-4_INCLUDE.out rename to tests/zscanner/data/06-4_INCLUDE.out diff --git a/src/zscanner/tests/data/06-5_INCLUDE.in b/tests/zscanner/data/06-5_INCLUDE.in similarity index 100% rename from src/zscanner/tests/data/06-5_INCLUDE.in rename to tests/zscanner/data/06-5_INCLUDE.in diff --git a/src/zscanner/tests/data/06-5_INCLUDE.out b/tests/zscanner/data/06-5_INCLUDE.out similarity index 100% rename from src/zscanner/tests/data/06-5_INCLUDE.out rename to tests/zscanner/data/06-5_INCLUDE.out diff --git a/src/zscanner/tests/data/06-6_INCLUDE.in b/tests/zscanner/data/06-6_INCLUDE.in similarity index 100% rename from src/zscanner/tests/data/06-6_INCLUDE.in rename to tests/zscanner/data/06-6_INCLUDE.in diff --git a/src/zscanner/tests/data/06-6_INCLUDE.out b/tests/zscanner/data/06-6_INCLUDE.out similarity index 100% rename from src/zscanner/tests/data/06-6_INCLUDE.out rename to tests/zscanner/data/06-6_INCLUDE.out diff --git a/src/zscanner/tests/data/06-7_INCLUDE.in b/tests/zscanner/data/06-7_INCLUDE.in similarity index 100% rename from src/zscanner/tests/data/06-7_INCLUDE.in rename to tests/zscanner/data/06-7_INCLUDE.in diff --git a/src/zscanner/tests/data/06-7_INCLUDE.out b/tests/zscanner/data/06-7_INCLUDE.out similarity index 100% rename from src/zscanner/tests/data/06-7_INCLUDE.out rename to tests/zscanner/data/06-7_INCLUDE.out diff --git a/src/zscanner/tests/data/06-8_INCLUDE.in b/tests/zscanner/data/06-8_INCLUDE.in similarity index 100% rename from src/zscanner/tests/data/06-8_INCLUDE.in rename to tests/zscanner/data/06-8_INCLUDE.in diff --git a/src/zscanner/tests/data/06-8_INCLUDE.out b/tests/zscanner/data/06-8_INCLUDE.out similarity index 100% rename from src/zscanner/tests/data/06-8_INCLUDE.out rename to tests/zscanner/data/06-8_INCLUDE.out diff --git a/src/zscanner/tests/data/07-0-rdata.in b/tests/zscanner/data/07-0-rdata.in similarity index 100% rename from src/zscanner/tests/data/07-0-rdata.in rename to tests/zscanner/data/07-0-rdata.in diff --git a/src/zscanner/tests/data/07-0-rdata.out b/tests/zscanner/data/07-0-rdata.out similarity index 100% rename from src/zscanner/tests/data/07-0-rdata.out rename to tests/zscanner/data/07-0-rdata.out diff --git a/src/zscanner/tests/data/07-1-rdata.in b/tests/zscanner/data/07-1-rdata.in similarity index 100% rename from src/zscanner/tests/data/07-1-rdata.in rename to tests/zscanner/data/07-1-rdata.in diff --git a/src/zscanner/tests/data/07-1-rdata.out b/tests/zscanner/data/07-1-rdata.out similarity index 100% rename from src/zscanner/tests/data/07-1-rdata.out rename to tests/zscanner/data/07-1-rdata.out diff --git a/src/zscanner/tests/data/07-2-rdata.in b/tests/zscanner/data/07-2-rdata.in similarity index 100% rename from src/zscanner/tests/data/07-2-rdata.in rename to tests/zscanner/data/07-2-rdata.in diff --git a/src/zscanner/tests/data/07-2-rdata.out b/tests/zscanner/data/07-2-rdata.out similarity index 100% rename from src/zscanner/tests/data/07-2-rdata.out rename to tests/zscanner/data/07-2-rdata.out diff --git a/src/zscanner/tests/data/07-3-rdata.in b/tests/zscanner/data/07-3-rdata.in similarity index 100% rename from src/zscanner/tests/data/07-3-rdata.in rename to tests/zscanner/data/07-3-rdata.in diff --git a/src/zscanner/tests/data/07-3-rdata.out b/tests/zscanner/data/07-3-rdata.out similarity index 100% rename from src/zscanner/tests/data/07-3-rdata.out rename to tests/zscanner/data/07-3-rdata.out diff --git a/src/zscanner/tests/data/07-4-rdata.in b/tests/zscanner/data/07-4-rdata.in similarity index 100% rename from src/zscanner/tests/data/07-4-rdata.in rename to tests/zscanner/data/07-4-rdata.in diff --git a/src/zscanner/tests/data/07-4-rdata.out b/tests/zscanner/data/07-4-rdata.out similarity index 100% rename from src/zscanner/tests/data/07-4-rdata.out rename to tests/zscanner/data/07-4-rdata.out diff --git a/src/zscanner/tests/data/10_A.in b/tests/zscanner/data/10_A.in similarity index 100% rename from src/zscanner/tests/data/10_A.in rename to tests/zscanner/data/10_A.in diff --git a/src/zscanner/tests/data/10_A.out b/tests/zscanner/data/10_A.out similarity index 100% rename from src/zscanner/tests/data/10_A.out rename to tests/zscanner/data/10_A.out diff --git a/src/zscanner/tests/data/11_AAAA.in b/tests/zscanner/data/11_AAAA.in similarity index 100% rename from src/zscanner/tests/data/11_AAAA.in rename to tests/zscanner/data/11_AAAA.in diff --git a/src/zscanner/tests/data/11_AAAA.out b/tests/zscanner/data/11_AAAA.out similarity index 100% rename from src/zscanner/tests/data/11_AAAA.out rename to tests/zscanner/data/11_AAAA.out diff --git a/src/zscanner/tests/data/12_TXT.in b/tests/zscanner/data/12_TXT.in similarity index 100% rename from src/zscanner/tests/data/12_TXT.in rename to tests/zscanner/data/12_TXT.in diff --git a/src/zscanner/tests/data/12_TXT.out b/tests/zscanner/data/12_TXT.out similarity index 100% rename from src/zscanner/tests/data/12_TXT.out rename to tests/zscanner/data/12_TXT.out diff --git a/src/zscanner/tests/data/13_SPF.in b/tests/zscanner/data/13_SPF.in similarity index 100% rename from src/zscanner/tests/data/13_SPF.in rename to tests/zscanner/data/13_SPF.in diff --git a/src/zscanner/tests/data/13_SPF.out b/tests/zscanner/data/13_SPF.out similarity index 100% rename from src/zscanner/tests/data/13_SPF.out rename to tests/zscanner/data/13_SPF.out diff --git a/src/zscanner/tests/data/14_NS.in b/tests/zscanner/data/14_NS.in similarity index 100% rename from src/zscanner/tests/data/14_NS.in rename to tests/zscanner/data/14_NS.in diff --git a/src/zscanner/tests/data/14_NS.out b/tests/zscanner/data/14_NS.out similarity index 100% rename from src/zscanner/tests/data/14_NS.out rename to tests/zscanner/data/14_NS.out diff --git a/src/zscanner/tests/data/15_CNAME.in b/tests/zscanner/data/15_CNAME.in similarity index 100% rename from src/zscanner/tests/data/15_CNAME.in rename to tests/zscanner/data/15_CNAME.in diff --git a/src/zscanner/tests/data/15_CNAME.out b/tests/zscanner/data/15_CNAME.out similarity index 100% rename from src/zscanner/tests/data/15_CNAME.out rename to tests/zscanner/data/15_CNAME.out diff --git a/src/zscanner/tests/data/16_PTR.in b/tests/zscanner/data/16_PTR.in similarity index 100% rename from src/zscanner/tests/data/16_PTR.in rename to tests/zscanner/data/16_PTR.in diff --git a/src/zscanner/tests/data/16_PTR.out b/tests/zscanner/data/16_PTR.out similarity index 100% rename from src/zscanner/tests/data/16_PTR.out rename to tests/zscanner/data/16_PTR.out diff --git a/src/zscanner/tests/data/17_DNAME.in b/tests/zscanner/data/17_DNAME.in similarity index 100% rename from src/zscanner/tests/data/17_DNAME.in rename to tests/zscanner/data/17_DNAME.in diff --git a/src/zscanner/tests/data/17_DNAME.out b/tests/zscanner/data/17_DNAME.out similarity index 100% rename from src/zscanner/tests/data/17_DNAME.out rename to tests/zscanner/data/17_DNAME.out diff --git a/src/zscanner/tests/data/18_MX.in b/tests/zscanner/data/18_MX.in similarity index 100% rename from src/zscanner/tests/data/18_MX.in rename to tests/zscanner/data/18_MX.in diff --git a/src/zscanner/tests/data/18_MX.out b/tests/zscanner/data/18_MX.out similarity index 100% rename from src/zscanner/tests/data/18_MX.out rename to tests/zscanner/data/18_MX.out diff --git a/src/zscanner/tests/data/19_AFSDB.in b/tests/zscanner/data/19_AFSDB.in similarity index 100% rename from src/zscanner/tests/data/19_AFSDB.in rename to tests/zscanner/data/19_AFSDB.in diff --git a/src/zscanner/tests/data/19_AFSDB.out b/tests/zscanner/data/19_AFSDB.out similarity index 100% rename from src/zscanner/tests/data/19_AFSDB.out rename to tests/zscanner/data/19_AFSDB.out diff --git a/src/zscanner/tests/data/20_RT.in b/tests/zscanner/data/20_RT.in similarity index 100% rename from src/zscanner/tests/data/20_RT.in rename to tests/zscanner/data/20_RT.in diff --git a/src/zscanner/tests/data/20_RT.out b/tests/zscanner/data/20_RT.out similarity index 100% rename from src/zscanner/tests/data/20_RT.out rename to tests/zscanner/data/20_RT.out diff --git a/src/zscanner/tests/data/21_KX.in b/tests/zscanner/data/21_KX.in similarity index 100% rename from src/zscanner/tests/data/21_KX.in rename to tests/zscanner/data/21_KX.in diff --git a/src/zscanner/tests/data/21_KX.out b/tests/zscanner/data/21_KX.out similarity index 100% rename from src/zscanner/tests/data/21_KX.out rename to tests/zscanner/data/21_KX.out diff --git a/src/zscanner/tests/data/22_HINFO.in b/tests/zscanner/data/22_HINFO.in similarity index 100% rename from src/zscanner/tests/data/22_HINFO.in rename to tests/zscanner/data/22_HINFO.in diff --git a/src/zscanner/tests/data/22_HINFO.out b/tests/zscanner/data/22_HINFO.out similarity index 100% rename from src/zscanner/tests/data/22_HINFO.out rename to tests/zscanner/data/22_HINFO.out diff --git a/src/zscanner/tests/data/23_MINFO.in b/tests/zscanner/data/23_MINFO.in similarity index 100% rename from src/zscanner/tests/data/23_MINFO.in rename to tests/zscanner/data/23_MINFO.in diff --git a/src/zscanner/tests/data/23_MINFO.out b/tests/zscanner/data/23_MINFO.out similarity index 100% rename from src/zscanner/tests/data/23_MINFO.out rename to tests/zscanner/data/23_MINFO.out diff --git a/src/zscanner/tests/data/24_RP.in b/tests/zscanner/data/24_RP.in similarity index 100% rename from src/zscanner/tests/data/24_RP.in rename to tests/zscanner/data/24_RP.in diff --git a/src/zscanner/tests/data/24_RP.out b/tests/zscanner/data/24_RP.out similarity index 100% rename from src/zscanner/tests/data/24_RP.out rename to tests/zscanner/data/24_RP.out diff --git a/src/zscanner/tests/data/25_SOA.in b/tests/zscanner/data/25_SOA.in similarity index 100% rename from src/zscanner/tests/data/25_SOA.in rename to tests/zscanner/data/25_SOA.in diff --git a/src/zscanner/tests/data/25_SOA.out b/tests/zscanner/data/25_SOA.out similarity index 100% rename from src/zscanner/tests/data/25_SOA.out rename to tests/zscanner/data/25_SOA.out diff --git a/src/zscanner/tests/data/26_SRV.in b/tests/zscanner/data/26_SRV.in similarity index 100% rename from src/zscanner/tests/data/26_SRV.in rename to tests/zscanner/data/26_SRV.in diff --git a/src/zscanner/tests/data/26_SRV.out b/tests/zscanner/data/26_SRV.out similarity index 100% rename from src/zscanner/tests/data/26_SRV.out rename to tests/zscanner/data/26_SRV.out diff --git a/src/zscanner/tests/data/27_NAPTR.in b/tests/zscanner/data/27_NAPTR.in similarity index 100% rename from src/zscanner/tests/data/27_NAPTR.in rename to tests/zscanner/data/27_NAPTR.in diff --git a/src/zscanner/tests/data/27_NAPTR.out b/tests/zscanner/data/27_NAPTR.out similarity index 100% rename from src/zscanner/tests/data/27_NAPTR.out rename to tests/zscanner/data/27_NAPTR.out diff --git a/src/zscanner/tests/data/28_TYPE.in b/tests/zscanner/data/28_TYPE.in similarity index 100% rename from src/zscanner/tests/data/28_TYPE.in rename to tests/zscanner/data/28_TYPE.in diff --git a/src/zscanner/tests/data/28_TYPE.out b/tests/zscanner/data/28_TYPE.out similarity index 100% rename from src/zscanner/tests/data/28_TYPE.out rename to tests/zscanner/data/28_TYPE.out diff --git a/src/zscanner/tests/data/29_CERT.in b/tests/zscanner/data/29_CERT.in similarity index 100% rename from src/zscanner/tests/data/29_CERT.in rename to tests/zscanner/data/29_CERT.in diff --git a/src/zscanner/tests/data/29_CERT.out b/tests/zscanner/data/29_CERT.out similarity index 100% rename from src/zscanner/tests/data/29_CERT.out rename to tests/zscanner/data/29_CERT.out diff --git a/src/zscanner/tests/data/30_KEY.in b/tests/zscanner/data/30_KEY.in similarity index 100% rename from src/zscanner/tests/data/30_KEY.in rename to tests/zscanner/data/30_KEY.in diff --git a/src/zscanner/tests/data/30_KEY.out b/tests/zscanner/data/30_KEY.out similarity index 100% rename from src/zscanner/tests/data/30_KEY.out rename to tests/zscanner/data/30_KEY.out diff --git a/src/zscanner/tests/data/31_DNSKEY.in b/tests/zscanner/data/31_DNSKEY.in similarity index 100% rename from src/zscanner/tests/data/31_DNSKEY.in rename to tests/zscanner/data/31_DNSKEY.in diff --git a/src/zscanner/tests/data/31_DNSKEY.out b/tests/zscanner/data/31_DNSKEY.out similarity index 100% rename from src/zscanner/tests/data/31_DNSKEY.out rename to tests/zscanner/data/31_DNSKEY.out diff --git a/src/zscanner/tests/data/32_APL.in b/tests/zscanner/data/32_APL.in similarity index 100% rename from src/zscanner/tests/data/32_APL.in rename to tests/zscanner/data/32_APL.in diff --git a/src/zscanner/tests/data/32_APL.out b/tests/zscanner/data/32_APL.out similarity index 100% rename from src/zscanner/tests/data/32_APL.out rename to tests/zscanner/data/32_APL.out diff --git a/src/zscanner/tests/data/33_DS.in b/tests/zscanner/data/33_DS.in similarity index 100% rename from src/zscanner/tests/data/33_DS.in rename to tests/zscanner/data/33_DS.in diff --git a/src/zscanner/tests/data/33_DS.out b/tests/zscanner/data/33_DS.out similarity index 100% rename from src/zscanner/tests/data/33_DS.out rename to tests/zscanner/data/33_DS.out diff --git a/src/zscanner/tests/data/34_SSHFP.in b/tests/zscanner/data/34_SSHFP.in similarity index 100% rename from src/zscanner/tests/data/34_SSHFP.in rename to tests/zscanner/data/34_SSHFP.in diff --git a/src/zscanner/tests/data/34_SSHFP.out b/tests/zscanner/data/34_SSHFP.out similarity index 100% rename from src/zscanner/tests/data/34_SSHFP.out rename to tests/zscanner/data/34_SSHFP.out diff --git a/src/zscanner/tests/data/35_IPSECKEY.in b/tests/zscanner/data/35_IPSECKEY.in similarity index 100% rename from src/zscanner/tests/data/35_IPSECKEY.in rename to tests/zscanner/data/35_IPSECKEY.in diff --git a/src/zscanner/tests/data/35_IPSECKEY.out b/tests/zscanner/data/35_IPSECKEY.out similarity index 100% rename from src/zscanner/tests/data/35_IPSECKEY.out rename to tests/zscanner/data/35_IPSECKEY.out diff --git a/src/zscanner/tests/data/36_RRSIG.in b/tests/zscanner/data/36_RRSIG.in similarity index 100% rename from src/zscanner/tests/data/36_RRSIG.in rename to tests/zscanner/data/36_RRSIG.in diff --git a/src/zscanner/tests/data/36_RRSIG.out b/tests/zscanner/data/36_RRSIG.out similarity index 100% rename from src/zscanner/tests/data/36_RRSIG.out rename to tests/zscanner/data/36_RRSIG.out diff --git a/src/zscanner/tests/data/37_NSEC.in b/tests/zscanner/data/37_NSEC.in similarity index 100% rename from src/zscanner/tests/data/37_NSEC.in rename to tests/zscanner/data/37_NSEC.in diff --git a/src/zscanner/tests/data/37_NSEC.out b/tests/zscanner/data/37_NSEC.out similarity index 100% rename from src/zscanner/tests/data/37_NSEC.out rename to tests/zscanner/data/37_NSEC.out diff --git a/src/zscanner/tests/data/38_DHCID.in b/tests/zscanner/data/38_DHCID.in similarity index 100% rename from src/zscanner/tests/data/38_DHCID.in rename to tests/zscanner/data/38_DHCID.in diff --git a/src/zscanner/tests/data/38_DHCID.out b/tests/zscanner/data/38_DHCID.out similarity index 100% rename from src/zscanner/tests/data/38_DHCID.out rename to tests/zscanner/data/38_DHCID.out diff --git a/src/zscanner/tests/data/39_NSEC3.in b/tests/zscanner/data/39_NSEC3.in similarity index 100% rename from src/zscanner/tests/data/39_NSEC3.in rename to tests/zscanner/data/39_NSEC3.in diff --git a/src/zscanner/tests/data/39_NSEC3.out b/tests/zscanner/data/39_NSEC3.out similarity index 100% rename from src/zscanner/tests/data/39_NSEC3.out rename to tests/zscanner/data/39_NSEC3.out diff --git a/src/zscanner/tests/data/40_NSEC3PARAM.in b/tests/zscanner/data/40_NSEC3PARAM.in similarity index 100% rename from src/zscanner/tests/data/40_NSEC3PARAM.in rename to tests/zscanner/data/40_NSEC3PARAM.in diff --git a/src/zscanner/tests/data/40_NSEC3PARAM.out b/tests/zscanner/data/40_NSEC3PARAM.out similarity index 100% rename from src/zscanner/tests/data/40_NSEC3PARAM.out rename to tests/zscanner/data/40_NSEC3PARAM.out diff --git a/src/zscanner/tests/data/41_TLSA.in b/tests/zscanner/data/41_TLSA.in similarity index 100% rename from src/zscanner/tests/data/41_TLSA.in rename to tests/zscanner/data/41_TLSA.in diff --git a/src/zscanner/tests/data/41_TLSA.out b/tests/zscanner/data/41_TLSA.out similarity index 100% rename from src/zscanner/tests/data/41_TLSA.out rename to tests/zscanner/data/41_TLSA.out diff --git a/src/zscanner/tests/data/42_LOC.in b/tests/zscanner/data/42_LOC.in similarity index 100% rename from src/zscanner/tests/data/42_LOC.in rename to tests/zscanner/data/42_LOC.in diff --git a/src/zscanner/tests/data/42_LOC.out b/tests/zscanner/data/42_LOC.out similarity index 100% rename from src/zscanner/tests/data/42_LOC.out rename to tests/zscanner/data/42_LOC.out diff --git a/src/zscanner/tests/data/43_EUI48.in b/tests/zscanner/data/43_EUI48.in similarity index 100% rename from src/zscanner/tests/data/43_EUI48.in rename to tests/zscanner/data/43_EUI48.in diff --git a/src/zscanner/tests/data/43_EUI48.out b/tests/zscanner/data/43_EUI48.out similarity index 100% rename from src/zscanner/tests/data/43_EUI48.out rename to tests/zscanner/data/43_EUI48.out diff --git a/src/zscanner/tests/data/44_EUI64.in b/tests/zscanner/data/44_EUI64.in similarity index 100% rename from src/zscanner/tests/data/44_EUI64.in rename to tests/zscanner/data/44_EUI64.in diff --git a/src/zscanner/tests/data/44_EUI64.out b/tests/zscanner/data/44_EUI64.out similarity index 100% rename from src/zscanner/tests/data/44_EUI64.out rename to tests/zscanner/data/44_EUI64.out diff --git a/src/zscanner/tests/data/45_NID.in b/tests/zscanner/data/45_NID.in similarity index 100% rename from src/zscanner/tests/data/45_NID.in rename to tests/zscanner/data/45_NID.in diff --git a/src/zscanner/tests/data/45_NID.out b/tests/zscanner/data/45_NID.out similarity index 100% rename from src/zscanner/tests/data/45_NID.out rename to tests/zscanner/data/45_NID.out diff --git a/src/zscanner/tests/data/46_L32.in b/tests/zscanner/data/46_L32.in similarity index 100% rename from src/zscanner/tests/data/46_L32.in rename to tests/zscanner/data/46_L32.in diff --git a/src/zscanner/tests/data/46_L32.out b/tests/zscanner/data/46_L32.out similarity index 100% rename from src/zscanner/tests/data/46_L32.out rename to tests/zscanner/data/46_L32.out diff --git a/src/zscanner/tests/data/47_L64.in b/tests/zscanner/data/47_L64.in similarity index 100% rename from src/zscanner/tests/data/47_L64.in rename to tests/zscanner/data/47_L64.in diff --git a/src/zscanner/tests/data/47_L64.out b/tests/zscanner/data/47_L64.out similarity index 100% rename from src/zscanner/tests/data/47_L64.out rename to tests/zscanner/data/47_L64.out diff --git a/src/zscanner/tests/data/48_LP.in b/tests/zscanner/data/48_LP.in similarity index 100% rename from src/zscanner/tests/data/48_LP.in rename to tests/zscanner/data/48_LP.in diff --git a/src/zscanner/tests/data/48_LP.out b/tests/zscanner/data/48_LP.out similarity index 100% rename from src/zscanner/tests/data/48_LP.out rename to tests/zscanner/data/48_LP.out diff --git a/src/zscanner/tests/data/49_CDS.in b/tests/zscanner/data/49_CDS.in similarity index 100% rename from src/zscanner/tests/data/49_CDS.in rename to tests/zscanner/data/49_CDS.in diff --git a/src/zscanner/tests/data/49_CDS.out b/tests/zscanner/data/49_CDS.out similarity index 100% rename from src/zscanner/tests/data/49_CDS.out rename to tests/zscanner/data/49_CDS.out diff --git a/src/zscanner/tests/data/50_CDNSKEY.in b/tests/zscanner/data/50_CDNSKEY.in similarity index 100% rename from src/zscanner/tests/data/50_CDNSKEY.in rename to tests/zscanner/data/50_CDNSKEY.in diff --git a/src/zscanner/tests/data/50_CDNSKEY.out b/tests/zscanner/data/50_CDNSKEY.out similarity index 100% rename from src/zscanner/tests/data/50_CDNSKEY.out rename to tests/zscanner/data/50_CDNSKEY.out diff --git a/src/zscanner/tests/data/51_URI.in b/tests/zscanner/data/51_URI.in similarity index 100% rename from src/zscanner/tests/data/51_URI.in rename to tests/zscanner/data/51_URI.in diff --git a/src/zscanner/tests/data/51_URI.out b/tests/zscanner/data/51_URI.out similarity index 100% rename from src/zscanner/tests/data/51_URI.out rename to tests/zscanner/data/51_URI.out diff --git a/src/zscanner/tests/data/52_CAA.in b/tests/zscanner/data/52_CAA.in similarity index 100% rename from src/zscanner/tests/data/52_CAA.in rename to tests/zscanner/data/52_CAA.in diff --git a/src/zscanner/tests/data/52_CAA.out b/tests/zscanner/data/52_CAA.out similarity index 100% rename from src/zscanner/tests/data/52_CAA.out rename to tests/zscanner/data/52_CAA.out diff --git a/src/zscanner/tests/data/includes/include1 b/tests/zscanner/data/includes/include1 similarity index 100% rename from src/zscanner/tests/data/includes/include1 rename to tests/zscanner/data/includes/include1 diff --git a/src/zscanner/tests/data/includes/include2 b/tests/zscanner/data/includes/include2 similarity index 100% rename from src/zscanner/tests/data/includes/include2 rename to tests/zscanner/data/includes/include2 diff --git a/src/zscanner/tests/data/includes/include3 b/tests/zscanner/data/includes/include3 similarity index 100% rename from src/zscanner/tests/data/includes/include3 rename to tests/zscanner/data/includes/include3 diff --git a/src/zscanner/tests/data/includes/include4 b/tests/zscanner/data/includes/include4 similarity index 100% rename from src/zscanner/tests/data/includes/include4 rename to tests/zscanner/data/includes/include4 diff --git a/src/zscanner/tests/data/includes/include5 b/tests/zscanner/data/includes/include5 similarity index 100% rename from src/zscanner/tests/data/includes/include5 rename to tests/zscanner/data/includes/include5 diff --git a/src/zscanner/tests/data/includes/include6 b/tests/zscanner/data/includes/include6 similarity index 100% rename from src/zscanner/tests/data/includes/include6 rename to tests/zscanner/data/includes/include6 diff --git a/src/zscanner/tests/processing.c b/tests/zscanner/processing.c similarity index 64% rename from src/zscanner/tests/processing.c rename to tests/zscanner/processing.c index 26bfa5cf055f6efa1775bb59ef0f920668d4032c..ab22616550b280ee31f6ff0a26e0e1f77b832b76 100644 --- a/src/zscanner/tests/processing.c +++ b/tests/zscanner/processing.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2011 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz> +/* Copyright (C) 2018 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz> This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -15,10 +15,13 @@ */ #include <inttypes.h> +#include <stdlib.h> #include <stdio.h> +#include <time.h> -#include "tests/processing.h" -#include "scanner.h" +#include "zscanner/scanner.h" +#include "zscanner/functions.c" +#include "zscanner/processing.h" #include "libknot/descriptor.c" const char *separator = "------\n"; @@ -112,3 +115,59 @@ void test_process_record(zs_scanner_t *s) printf("\n%s", separator); fflush(stdout); } + +int test_date_to_timestamp(void) +{ + time_t ref_timestamp, max_timestamp; + uint32_t test_timestamp; + uint8_t buffer[16]; + uint64_t val1, val2; // For time_t type unification. + struct tm tm; + + // Set UTC for strftime. + putenv("TZ=UTC"); + tzset(); + + // Get maximal allowed timestamp. + strptime("21051231235959", "%Y%m%d%H%M%S", &tm); + max_timestamp = mktime(&tm); + + // Testing loop over whole input interval. + for (ref_timestamp = 0; + ref_timestamp < max_timestamp; + ref_timestamp += 1) { + struct tm result; + // Get reference (correct) timestamp. + strftime((char*)buffer, sizeof(buffer), "%Y%m%d%H%M%S", + gmtime_r(&ref_timestamp, &result)); + + // Get testing timestamp. + test_timestamp = 0U; // prevents Wunitialized + date_to_timestamp(buffer, &test_timestamp); + + // Some continuous loging. + if (ref_timestamp % 10000000 == 0) { + val1 = ref_timestamp; + printf("%s = %"PRIu64"\n", buffer, val1); + } + + // Comparing results. + if (ref_timestamp != test_timestamp) { + val1 = ref_timestamp; + + if (ref_timestamp > test_timestamp) { + val2 = ref_timestamp - test_timestamp; + printf("%s = %"PRIu64", in - out = %"PRIu64"\n", + buffer, val1, val2); + } else { + val2 = test_timestamp - ref_timestamp; + printf("%s = %"PRIu64", out - in = %"PRIu64"\n", + buffer, val1, val2); + } + + return -1; + } + } + + return 0; +} diff --git a/src/zscanner/tests/processing.h b/tests/zscanner/processing.h similarity index 83% rename from src/zscanner/tests/processing.h rename to tests/zscanner/processing.h index 27489bf1a9d6586df4ec1c975dd5b197d62944db..f3a7d196a57cd28b4781406130ba022df6551360 100644 --- a/src/zscanner/tests/processing.h +++ b/tests/zscanner/processing.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2017 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz> +/* Copyright (C) 2018 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz> This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,14 +13,6 @@ You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ -/*! - * \file - * - * \brief Zone scanner test functions. - * - * \addtogroup zone_scanner_test - * @{ - */ #pragma once @@ -34,4 +26,4 @@ void test_process_error(zs_scanner_t *scanner); void test_process_record(zs_scanner_t *scanner); -/*! @} */ +int test_date_to_timestamp(void); diff --git a/src/zscanner/tests/unittests.in b/tests/zscanner/test_zscanner.in similarity index 86% rename from src/zscanner/tests/unittests.in rename to tests/zscanner/test_zscanner.in index a3f27f806898de04829c8050961de79c393ff085..a1443e74e306bd3dd425095d9b5c061e205a58b2 100644 --- a/src/zscanner/tests/unittests.in +++ b/tests/zscanner/test_zscanner.in @@ -1,9 +1,9 @@ #!/bin/sh -SOURCE=@top_srcdir@/src/zscanner/tests -BUILD=@top_builddir@/src/zscanner/tests +SOURCE=@top_srcdir@/tests/zscanner +BUILD=@top_builddir@/tests/zscanner -. @top_srcdir@/libtap/tap/libtap.sh +. @top_srcdir@/tests/_libtap/tap/libtap.sh cd "$BUILD" @@ -25,7 +25,6 @@ for case in $(cat "$SOURCE"/TESTS); do fileout="$TMPDIR"/"$case".out sed -e "s|@TMPDIR@|$TMPDIR|;" < "$casein" > "$filein" - diag $(ls "$filein") "$ZSCANNER_TOOL" -m 2 . "$filein" > "$fileout" diff --git a/src/zscanner/tests/zscanner-tool.c b/tests/zscanner/zscanner-tool.c similarity index 96% rename from src/zscanner/tests/zscanner-tool.c rename to tests/zscanner/zscanner-tool.c index e3f9837e569fa4af926359e70472b2f78ad425e8..a8865616abe7179cc584faa37142abde5a82aab2 100644 --- a/src/zscanner/tests/zscanner-tool.c +++ b/tests/zscanner/zscanner-tool.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2017 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz> +/* Copyright (C) 2018 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz> This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -20,9 +20,8 @@ #include <stdio.h> #include <stdlib.h> -#include "tests/processing.h" -#include "tests/tests.h" -#include "scanner.h" +#include "zscanner/processing.h" +#include "zscanner/scanner.h" #define DEFAULT_MODE 1 #define DEFAULT_CLASS 1 @@ -31,7 +30,7 @@ static void *timestamp_worker(void *data) { int *ret = (int *)data; - *ret = test__date_to_timestamp(); + *ret = test_date_to_timestamp(); return NULL; }