diff --git a/src/Makefile.am b/src/Makefile.am
index 88cb03f8c6cfd6fdb409a7f2316121315721b1ac..202e8199d0e7e4ae3c4a4b7530ca13f7b662bb23 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -11,9 +11,11 @@ libknotd_la_YFLAGS = -pcf_ -d
 libknotd_la_LFLAGS = # TODO: reentrant parser, prefix
 
 EXTRA_DIST =					\
-	     tests/files/sample_conf		\
-	     zscanner/scanner.rl		\
-	     zscanner/scanner_body.rl
+	tests/files/sample_conf			\
+	zscanner/scanner.rl			\
+	zscanner/scanner_body.rl		\
+	zscanner/test/run_tests.sh		\
+	zscanner/test/cases
 
 BUILT_SOURCES =					\
 	sample_conf.rc				\
diff --git a/src/tests/common/hattrie_tests.c b/src/tests/common/hattrie_tests.c
index 53b4c1829d52aaf3c123aa2c92d3cd2b8ec0c20f..7df50744d8ad5f4aa3fc0c999b12868a7cacd778 100644
--- a/src/tests/common/hattrie_tests.c
+++ b/src/tests/common/hattrie_tests.c
@@ -148,7 +148,7 @@ static int hattrie_tests_run(int argc, char *argv[])
 	/* Test 6: false LPR lookup */
 	const char *false_lpr = "Z";
 	int ret = hattrie_find_lpr(t, false_lpr, strlen(false_lpr), &v);
-	ok(ret != 0 && v == NULL, "hattrie: non-existent prefix lookup\n");
+	ok(ret != 0 && v == NULL, "hattrie: non-existent prefix lookup");
 
 
 	for (unsigned i = 0; i < dummy_count; ++i) {
diff --git a/src/zscanner/test/tests/00_general.in b/src/zscanner/test/cases/00_general.in
similarity index 100%
rename from src/zscanner/test/tests/00_general.in
rename to src/zscanner/test/cases/00_general.in
diff --git a/src/zscanner/test/tests/00_general.out b/src/zscanner/test/cases/00_general.out
similarity index 100%
rename from src/zscanner/test/tests/00_general.out
rename to src/zscanner/test/cases/00_general.out
diff --git a/src/zscanner/test/tests/01_owner.in b/src/zscanner/test/cases/01_owner.in
similarity index 100%
rename from src/zscanner/test/tests/01_owner.in
rename to src/zscanner/test/cases/01_owner.in
diff --git a/src/zscanner/test/tests/01_owner.out b/src/zscanner/test/cases/01_owner.out
similarity index 100%
rename from src/zscanner/test/tests/01_owner.out
rename to src/zscanner/test/cases/01_owner.out
diff --git a/src/zscanner/test/tests/02_class.in b/src/zscanner/test/cases/02_class.in
similarity index 100%
rename from src/zscanner/test/tests/02_class.in
rename to src/zscanner/test/cases/02_class.in
diff --git a/src/zscanner/test/tests/02_class.out b/src/zscanner/test/cases/02_class.out
similarity index 100%
rename from src/zscanner/test/tests/02_class.out
rename to src/zscanner/test/cases/02_class.out
diff --git a/src/zscanner/test/tests/03_rrttl.in b/src/zscanner/test/cases/03_rrttl.in
similarity index 100%
rename from src/zscanner/test/tests/03_rrttl.in
rename to src/zscanner/test/cases/03_rrttl.in
diff --git a/src/zscanner/test/tests/03_rrttl.out b/src/zscanner/test/cases/03_rrttl.out
similarity index 100%
rename from src/zscanner/test/tests/03_rrttl.out
rename to src/zscanner/test/cases/03_rrttl.out
diff --git a/src/zscanner/test/tests/04-0_ORIGIN.in b/src/zscanner/test/cases/04-0_ORIGIN.in
similarity index 100%
rename from src/zscanner/test/tests/04-0_ORIGIN.in
rename to src/zscanner/test/cases/04-0_ORIGIN.in
diff --git a/src/zscanner/test/tests/04-0_ORIGIN.out b/src/zscanner/test/cases/04-0_ORIGIN.out
similarity index 100%
rename from src/zscanner/test/tests/04-0_ORIGIN.out
rename to src/zscanner/test/cases/04-0_ORIGIN.out
diff --git a/src/zscanner/test/tests/04-1_ORIGIN.in b/src/zscanner/test/cases/04-1_ORIGIN.in
similarity index 100%
rename from src/zscanner/test/tests/04-1_ORIGIN.in
rename to src/zscanner/test/cases/04-1_ORIGIN.in
diff --git a/src/zscanner/test/tests/04-1_ORIGIN.out b/src/zscanner/test/cases/04-1_ORIGIN.out
similarity index 100%
rename from src/zscanner/test/tests/04-1_ORIGIN.out
rename to src/zscanner/test/cases/04-1_ORIGIN.out
diff --git a/src/zscanner/test/tests/04-2_ORIGIN.in b/src/zscanner/test/cases/04-2_ORIGIN.in
similarity index 100%
rename from src/zscanner/test/tests/04-2_ORIGIN.in
rename to src/zscanner/test/cases/04-2_ORIGIN.in
diff --git a/src/zscanner/test/tests/04-2_ORIGIN.out b/src/zscanner/test/cases/04-2_ORIGIN.out
similarity index 100%
rename from src/zscanner/test/tests/04-2_ORIGIN.out
rename to src/zscanner/test/cases/04-2_ORIGIN.out
diff --git a/src/zscanner/test/tests/04-3_ORIGIN.in b/src/zscanner/test/cases/04-3_ORIGIN.in
similarity index 100%
rename from src/zscanner/test/tests/04-3_ORIGIN.in
rename to src/zscanner/test/cases/04-3_ORIGIN.in
diff --git a/src/zscanner/test/tests/04-3_ORIGIN.out b/src/zscanner/test/cases/04-3_ORIGIN.out
similarity index 100%
rename from src/zscanner/test/tests/04-3_ORIGIN.out
rename to src/zscanner/test/cases/04-3_ORIGIN.out
diff --git a/src/zscanner/test/tests/04-4_ORIGIN.in b/src/zscanner/test/cases/04-4_ORIGIN.in
similarity index 100%
rename from src/zscanner/test/tests/04-4_ORIGIN.in
rename to src/zscanner/test/cases/04-4_ORIGIN.in
diff --git a/src/zscanner/test/tests/04-4_ORIGIN.out b/src/zscanner/test/cases/04-4_ORIGIN.out
similarity index 100%
rename from src/zscanner/test/tests/04-4_ORIGIN.out
rename to src/zscanner/test/cases/04-4_ORIGIN.out
diff --git a/src/zscanner/test/tests/04-5_ORIGIN.in b/src/zscanner/test/cases/04-5_ORIGIN.in
similarity index 100%
rename from src/zscanner/test/tests/04-5_ORIGIN.in
rename to src/zscanner/test/cases/04-5_ORIGIN.in
diff --git a/src/zscanner/test/tests/04-5_ORIGIN.out b/src/zscanner/test/cases/04-5_ORIGIN.out
similarity index 100%
rename from src/zscanner/test/tests/04-5_ORIGIN.out
rename to src/zscanner/test/cases/04-5_ORIGIN.out
diff --git a/src/zscanner/test/tests/04-6_ORIGIN.in b/src/zscanner/test/cases/04-6_ORIGIN.in
similarity index 100%
rename from src/zscanner/test/tests/04-6_ORIGIN.in
rename to src/zscanner/test/cases/04-6_ORIGIN.in
diff --git a/src/zscanner/test/tests/04-6_ORIGIN.out b/src/zscanner/test/cases/04-6_ORIGIN.out
similarity index 100%
rename from src/zscanner/test/tests/04-6_ORIGIN.out
rename to src/zscanner/test/cases/04-6_ORIGIN.out
diff --git a/src/zscanner/test/tests/04-7_ORIGIN.in b/src/zscanner/test/cases/04-7_ORIGIN.in
similarity index 100%
rename from src/zscanner/test/tests/04-7_ORIGIN.in
rename to src/zscanner/test/cases/04-7_ORIGIN.in
diff --git a/src/zscanner/test/tests/04-7_ORIGIN.out b/src/zscanner/test/cases/04-7_ORIGIN.out
similarity index 100%
rename from src/zscanner/test/tests/04-7_ORIGIN.out
rename to src/zscanner/test/cases/04-7_ORIGIN.out
diff --git a/src/zscanner/test/tests/04-8_ORIGIN.in b/src/zscanner/test/cases/04-8_ORIGIN.in
similarity index 100%
rename from src/zscanner/test/tests/04-8_ORIGIN.in
rename to src/zscanner/test/cases/04-8_ORIGIN.in
diff --git a/src/zscanner/test/tests/04-8_ORIGIN.out b/src/zscanner/test/cases/04-8_ORIGIN.out
similarity index 100%
rename from src/zscanner/test/tests/04-8_ORIGIN.out
rename to src/zscanner/test/cases/04-8_ORIGIN.out
diff --git a/src/zscanner/test/tests/04-9_ORIGIN.in b/src/zscanner/test/cases/04-9_ORIGIN.in
similarity index 100%
rename from src/zscanner/test/tests/04-9_ORIGIN.in
rename to src/zscanner/test/cases/04-9_ORIGIN.in
diff --git a/src/zscanner/test/tests/04-9_ORIGIN.out b/src/zscanner/test/cases/04-9_ORIGIN.out
similarity index 100%
rename from src/zscanner/test/tests/04-9_ORIGIN.out
rename to src/zscanner/test/cases/04-9_ORIGIN.out
diff --git a/src/zscanner/test/tests/05-0_TTL.in b/src/zscanner/test/cases/05-0_TTL.in
similarity index 100%
rename from src/zscanner/test/tests/05-0_TTL.in
rename to src/zscanner/test/cases/05-0_TTL.in
diff --git a/src/zscanner/test/tests/05-0_TTL.out b/src/zscanner/test/cases/05-0_TTL.out
similarity index 100%
rename from src/zscanner/test/tests/05-0_TTL.out
rename to src/zscanner/test/cases/05-0_TTL.out
diff --git a/src/zscanner/test/tests/05-1_TTL.in b/src/zscanner/test/cases/05-1_TTL.in
similarity index 100%
rename from src/zscanner/test/tests/05-1_TTL.in
rename to src/zscanner/test/cases/05-1_TTL.in
diff --git a/src/zscanner/test/tests/05-1_TTL.out b/src/zscanner/test/cases/05-1_TTL.out
similarity index 100%
rename from src/zscanner/test/tests/05-1_TTL.out
rename to src/zscanner/test/cases/05-1_TTL.out
diff --git a/src/zscanner/test/tests/05-2_TTL.in b/src/zscanner/test/cases/05-2_TTL.in
similarity index 100%
rename from src/zscanner/test/tests/05-2_TTL.in
rename to src/zscanner/test/cases/05-2_TTL.in
diff --git a/src/zscanner/test/tests/05-2_TTL.out b/src/zscanner/test/cases/05-2_TTL.out
similarity index 100%
rename from src/zscanner/test/tests/05-2_TTL.out
rename to src/zscanner/test/cases/05-2_TTL.out
diff --git a/src/zscanner/test/tests/05-3_TTL.in b/src/zscanner/test/cases/05-3_TTL.in
similarity index 100%
rename from src/zscanner/test/tests/05-3_TTL.in
rename to src/zscanner/test/cases/05-3_TTL.in
diff --git a/src/zscanner/test/tests/05-3_TTL.out b/src/zscanner/test/cases/05-3_TTL.out
similarity index 100%
rename from src/zscanner/test/tests/05-3_TTL.out
rename to src/zscanner/test/cases/05-3_TTL.out
diff --git a/src/zscanner/test/tests/05-4_TTL.in b/src/zscanner/test/cases/05-4_TTL.in
similarity index 100%
rename from src/zscanner/test/tests/05-4_TTL.in
rename to src/zscanner/test/cases/05-4_TTL.in
diff --git a/src/zscanner/test/tests/05-4_TTL.out b/src/zscanner/test/cases/05-4_TTL.out
similarity index 100%
rename from src/zscanner/test/tests/05-4_TTL.out
rename to src/zscanner/test/cases/05-4_TTL.out
diff --git a/src/zscanner/test/tests/06-0_INCLUDE.in b/src/zscanner/test/cases/06-0_INCLUDE.in
similarity index 100%
rename from src/zscanner/test/tests/06-0_INCLUDE.in
rename to src/zscanner/test/cases/06-0_INCLUDE.in
diff --git a/src/zscanner/test/tests/06-0_INCLUDE.out b/src/zscanner/test/cases/06-0_INCLUDE.out
similarity index 100%
rename from src/zscanner/test/tests/06-0_INCLUDE.out
rename to src/zscanner/test/cases/06-0_INCLUDE.out
diff --git a/src/zscanner/test/tests/06-1_INCLUDE.in b/src/zscanner/test/cases/06-1_INCLUDE.in
similarity index 100%
rename from src/zscanner/test/tests/06-1_INCLUDE.in
rename to src/zscanner/test/cases/06-1_INCLUDE.in
diff --git a/src/zscanner/test/tests/06-1_INCLUDE.out b/src/zscanner/test/cases/06-1_INCLUDE.out
similarity index 100%
rename from src/zscanner/test/tests/06-1_INCLUDE.out
rename to src/zscanner/test/cases/06-1_INCLUDE.out
diff --git a/src/zscanner/test/tests/06-2_INCLUDE.in b/src/zscanner/test/cases/06-2_INCLUDE.in
similarity index 100%
rename from src/zscanner/test/tests/06-2_INCLUDE.in
rename to src/zscanner/test/cases/06-2_INCLUDE.in
diff --git a/src/zscanner/test/tests/06-2_INCLUDE.out b/src/zscanner/test/cases/06-2_INCLUDE.out
similarity index 100%
rename from src/zscanner/test/tests/06-2_INCLUDE.out
rename to src/zscanner/test/cases/06-2_INCLUDE.out
diff --git a/src/zscanner/test/tests/06-3_INCLUDE.in b/src/zscanner/test/cases/06-3_INCLUDE.in
similarity index 100%
rename from src/zscanner/test/tests/06-3_INCLUDE.in
rename to src/zscanner/test/cases/06-3_INCLUDE.in
diff --git a/src/zscanner/test/tests/06-3_INCLUDE.out b/src/zscanner/test/cases/06-3_INCLUDE.out
similarity index 100%
rename from src/zscanner/test/tests/06-3_INCLUDE.out
rename to src/zscanner/test/cases/06-3_INCLUDE.out
diff --git a/src/zscanner/test/tests/06-4_INCLUDE.in b/src/zscanner/test/cases/06-4_INCLUDE.in
similarity index 100%
rename from src/zscanner/test/tests/06-4_INCLUDE.in
rename to src/zscanner/test/cases/06-4_INCLUDE.in
diff --git a/src/zscanner/test/tests/06-4_INCLUDE.out b/src/zscanner/test/cases/06-4_INCLUDE.out
similarity index 100%
rename from src/zscanner/test/tests/06-4_INCLUDE.out
rename to src/zscanner/test/cases/06-4_INCLUDE.out
diff --git a/src/zscanner/test/tests/06-5_INCLUDE.in b/src/zscanner/test/cases/06-5_INCLUDE.in
similarity index 100%
rename from src/zscanner/test/tests/06-5_INCLUDE.in
rename to src/zscanner/test/cases/06-5_INCLUDE.in
diff --git a/src/zscanner/test/tests/06-5_INCLUDE.out b/src/zscanner/test/cases/06-5_INCLUDE.out
similarity index 100%
rename from src/zscanner/test/tests/06-5_INCLUDE.out
rename to src/zscanner/test/cases/06-5_INCLUDE.out
diff --git a/src/zscanner/test/tests/06-6_INCLUDE.in b/src/zscanner/test/cases/06-6_INCLUDE.in
similarity index 100%
rename from src/zscanner/test/tests/06-6_INCLUDE.in
rename to src/zscanner/test/cases/06-6_INCLUDE.in
diff --git a/src/zscanner/test/tests/06-6_INCLUDE.out b/src/zscanner/test/cases/06-6_INCLUDE.out
similarity index 100%
rename from src/zscanner/test/tests/06-6_INCLUDE.out
rename to src/zscanner/test/cases/06-6_INCLUDE.out
diff --git a/src/zscanner/test/tests/06-7_INCLUDE.in b/src/zscanner/test/cases/06-7_INCLUDE.in
similarity index 100%
rename from src/zscanner/test/tests/06-7_INCLUDE.in
rename to src/zscanner/test/cases/06-7_INCLUDE.in
diff --git a/src/zscanner/test/tests/06-7_INCLUDE.out b/src/zscanner/test/cases/06-7_INCLUDE.out
similarity index 100%
rename from src/zscanner/test/tests/06-7_INCLUDE.out
rename to src/zscanner/test/cases/06-7_INCLUDE.out
diff --git a/src/zscanner/test/tests/06-8_INCLUDE.in b/src/zscanner/test/cases/06-8_INCLUDE.in
similarity index 100%
rename from src/zscanner/test/tests/06-8_INCLUDE.in
rename to src/zscanner/test/cases/06-8_INCLUDE.in
diff --git a/src/zscanner/test/tests/06-8_INCLUDE.out b/src/zscanner/test/cases/06-8_INCLUDE.out
similarity index 100%
rename from src/zscanner/test/tests/06-8_INCLUDE.out
rename to src/zscanner/test/cases/06-8_INCLUDE.out
diff --git a/src/zscanner/test/tests/10_A.in b/src/zscanner/test/cases/10_A.in
similarity index 100%
rename from src/zscanner/test/tests/10_A.in
rename to src/zscanner/test/cases/10_A.in
diff --git a/src/zscanner/test/tests/10_A.out b/src/zscanner/test/cases/10_A.out
similarity index 100%
rename from src/zscanner/test/tests/10_A.out
rename to src/zscanner/test/cases/10_A.out
diff --git a/src/zscanner/test/tests/11_AAAA.in b/src/zscanner/test/cases/11_AAAA.in
similarity index 100%
rename from src/zscanner/test/tests/11_AAAA.in
rename to src/zscanner/test/cases/11_AAAA.in
diff --git a/src/zscanner/test/tests/11_AAAA.out b/src/zscanner/test/cases/11_AAAA.out
similarity index 100%
rename from src/zscanner/test/tests/11_AAAA.out
rename to src/zscanner/test/cases/11_AAAA.out
diff --git a/src/zscanner/test/tests/12_TXT.in b/src/zscanner/test/cases/12_TXT.in
similarity index 100%
rename from src/zscanner/test/tests/12_TXT.in
rename to src/zscanner/test/cases/12_TXT.in
diff --git a/src/zscanner/test/tests/12_TXT.out b/src/zscanner/test/cases/12_TXT.out
similarity index 100%
rename from src/zscanner/test/tests/12_TXT.out
rename to src/zscanner/test/cases/12_TXT.out
diff --git a/src/zscanner/test/tests/13_SPF.in b/src/zscanner/test/cases/13_SPF.in
similarity index 100%
rename from src/zscanner/test/tests/13_SPF.in
rename to src/zscanner/test/cases/13_SPF.in
diff --git a/src/zscanner/test/tests/13_SPF.out b/src/zscanner/test/cases/13_SPF.out
similarity index 100%
rename from src/zscanner/test/tests/13_SPF.out
rename to src/zscanner/test/cases/13_SPF.out
diff --git a/src/zscanner/test/tests/14_NS.in b/src/zscanner/test/cases/14_NS.in
similarity index 100%
rename from src/zscanner/test/tests/14_NS.in
rename to src/zscanner/test/cases/14_NS.in
diff --git a/src/zscanner/test/tests/14_NS.out b/src/zscanner/test/cases/14_NS.out
similarity index 100%
rename from src/zscanner/test/tests/14_NS.out
rename to src/zscanner/test/cases/14_NS.out
diff --git a/src/zscanner/test/tests/15_CNAME.in b/src/zscanner/test/cases/15_CNAME.in
similarity index 100%
rename from src/zscanner/test/tests/15_CNAME.in
rename to src/zscanner/test/cases/15_CNAME.in
diff --git a/src/zscanner/test/tests/15_CNAME.out b/src/zscanner/test/cases/15_CNAME.out
similarity index 100%
rename from src/zscanner/test/tests/15_CNAME.out
rename to src/zscanner/test/cases/15_CNAME.out
diff --git a/src/zscanner/test/tests/16_PTR.in b/src/zscanner/test/cases/16_PTR.in
similarity index 100%
rename from src/zscanner/test/tests/16_PTR.in
rename to src/zscanner/test/cases/16_PTR.in
diff --git a/src/zscanner/test/tests/16_PTR.out b/src/zscanner/test/cases/16_PTR.out
similarity index 100%
rename from src/zscanner/test/tests/16_PTR.out
rename to src/zscanner/test/cases/16_PTR.out
diff --git a/src/zscanner/test/tests/17_DNAME.in b/src/zscanner/test/cases/17_DNAME.in
similarity index 100%
rename from src/zscanner/test/tests/17_DNAME.in
rename to src/zscanner/test/cases/17_DNAME.in
diff --git a/src/zscanner/test/tests/17_DNAME.out b/src/zscanner/test/cases/17_DNAME.out
similarity index 100%
rename from src/zscanner/test/tests/17_DNAME.out
rename to src/zscanner/test/cases/17_DNAME.out
diff --git a/src/zscanner/test/tests/18_MX.in b/src/zscanner/test/cases/18_MX.in
similarity index 100%
rename from src/zscanner/test/tests/18_MX.in
rename to src/zscanner/test/cases/18_MX.in
diff --git a/src/zscanner/test/tests/18_MX.out b/src/zscanner/test/cases/18_MX.out
similarity index 100%
rename from src/zscanner/test/tests/18_MX.out
rename to src/zscanner/test/cases/18_MX.out
diff --git a/src/zscanner/test/tests/19_AFSDB.in b/src/zscanner/test/cases/19_AFSDB.in
similarity index 100%
rename from src/zscanner/test/tests/19_AFSDB.in
rename to src/zscanner/test/cases/19_AFSDB.in
diff --git a/src/zscanner/test/tests/19_AFSDB.out b/src/zscanner/test/cases/19_AFSDB.out
similarity index 100%
rename from src/zscanner/test/tests/19_AFSDB.out
rename to src/zscanner/test/cases/19_AFSDB.out
diff --git a/src/zscanner/test/tests/20_RT.in b/src/zscanner/test/cases/20_RT.in
similarity index 100%
rename from src/zscanner/test/tests/20_RT.in
rename to src/zscanner/test/cases/20_RT.in
diff --git a/src/zscanner/test/tests/20_RT.out b/src/zscanner/test/cases/20_RT.out
similarity index 100%
rename from src/zscanner/test/tests/20_RT.out
rename to src/zscanner/test/cases/20_RT.out
diff --git a/src/zscanner/test/tests/21_KX.in b/src/zscanner/test/cases/21_KX.in
similarity index 100%
rename from src/zscanner/test/tests/21_KX.in
rename to src/zscanner/test/cases/21_KX.in
diff --git a/src/zscanner/test/tests/21_KX.out b/src/zscanner/test/cases/21_KX.out
similarity index 100%
rename from src/zscanner/test/tests/21_KX.out
rename to src/zscanner/test/cases/21_KX.out
diff --git a/src/zscanner/test/tests/22_HINFO.in b/src/zscanner/test/cases/22_HINFO.in
similarity index 100%
rename from src/zscanner/test/tests/22_HINFO.in
rename to src/zscanner/test/cases/22_HINFO.in
diff --git a/src/zscanner/test/tests/22_HINFO.out b/src/zscanner/test/cases/22_HINFO.out
similarity index 100%
rename from src/zscanner/test/tests/22_HINFO.out
rename to src/zscanner/test/cases/22_HINFO.out
diff --git a/src/zscanner/test/tests/23_MINFO.in b/src/zscanner/test/cases/23_MINFO.in
similarity index 100%
rename from src/zscanner/test/tests/23_MINFO.in
rename to src/zscanner/test/cases/23_MINFO.in
diff --git a/src/zscanner/test/tests/23_MINFO.out b/src/zscanner/test/cases/23_MINFO.out
similarity index 100%
rename from src/zscanner/test/tests/23_MINFO.out
rename to src/zscanner/test/cases/23_MINFO.out
diff --git a/src/zscanner/test/tests/24_RP.in b/src/zscanner/test/cases/24_RP.in
similarity index 100%
rename from src/zscanner/test/tests/24_RP.in
rename to src/zscanner/test/cases/24_RP.in
diff --git a/src/zscanner/test/tests/24_RP.out b/src/zscanner/test/cases/24_RP.out
similarity index 100%
rename from src/zscanner/test/tests/24_RP.out
rename to src/zscanner/test/cases/24_RP.out
diff --git a/src/zscanner/test/tests/25_SOA.in b/src/zscanner/test/cases/25_SOA.in
similarity index 100%
rename from src/zscanner/test/tests/25_SOA.in
rename to src/zscanner/test/cases/25_SOA.in
diff --git a/src/zscanner/test/tests/25_SOA.out b/src/zscanner/test/cases/25_SOA.out
similarity index 100%
rename from src/zscanner/test/tests/25_SOA.out
rename to src/zscanner/test/cases/25_SOA.out
diff --git a/src/zscanner/test/tests/26_SRV.in b/src/zscanner/test/cases/26_SRV.in
similarity index 100%
rename from src/zscanner/test/tests/26_SRV.in
rename to src/zscanner/test/cases/26_SRV.in
diff --git a/src/zscanner/test/tests/26_SRV.out b/src/zscanner/test/cases/26_SRV.out
similarity index 100%
rename from src/zscanner/test/tests/26_SRV.out
rename to src/zscanner/test/cases/26_SRV.out
diff --git a/src/zscanner/test/tests/27_NAPTR.in b/src/zscanner/test/cases/27_NAPTR.in
similarity index 100%
rename from src/zscanner/test/tests/27_NAPTR.in
rename to src/zscanner/test/cases/27_NAPTR.in
diff --git a/src/zscanner/test/tests/27_NAPTR.out b/src/zscanner/test/cases/27_NAPTR.out
similarity index 100%
rename from src/zscanner/test/tests/27_NAPTR.out
rename to src/zscanner/test/cases/27_NAPTR.out
diff --git a/src/zscanner/test/tests/28_TYPE.in b/src/zscanner/test/cases/28_TYPE.in
similarity index 100%
rename from src/zscanner/test/tests/28_TYPE.in
rename to src/zscanner/test/cases/28_TYPE.in
diff --git a/src/zscanner/test/tests/28_TYPE.out b/src/zscanner/test/cases/28_TYPE.out
similarity index 100%
rename from src/zscanner/test/tests/28_TYPE.out
rename to src/zscanner/test/cases/28_TYPE.out
diff --git a/src/zscanner/test/tests/29_CERT.in b/src/zscanner/test/cases/29_CERT.in
similarity index 100%
rename from src/zscanner/test/tests/29_CERT.in
rename to src/zscanner/test/cases/29_CERT.in
diff --git a/src/zscanner/test/tests/29_CERT.out b/src/zscanner/test/cases/29_CERT.out
similarity index 100%
rename from src/zscanner/test/tests/29_CERT.out
rename to src/zscanner/test/cases/29_CERT.out
diff --git a/src/zscanner/test/tests/30_KEY.in b/src/zscanner/test/cases/30_KEY.in
similarity index 100%
rename from src/zscanner/test/tests/30_KEY.in
rename to src/zscanner/test/cases/30_KEY.in
diff --git a/src/zscanner/test/tests/30_KEY.out b/src/zscanner/test/cases/30_KEY.out
similarity index 100%
rename from src/zscanner/test/tests/30_KEY.out
rename to src/zscanner/test/cases/30_KEY.out
diff --git a/src/zscanner/test/tests/31_DNSKEY.in b/src/zscanner/test/cases/31_DNSKEY.in
similarity index 100%
rename from src/zscanner/test/tests/31_DNSKEY.in
rename to src/zscanner/test/cases/31_DNSKEY.in
diff --git a/src/zscanner/test/tests/31_DNSKEY.out b/src/zscanner/test/cases/31_DNSKEY.out
similarity index 100%
rename from src/zscanner/test/tests/31_DNSKEY.out
rename to src/zscanner/test/cases/31_DNSKEY.out
diff --git a/src/zscanner/test/tests/32_APL.in b/src/zscanner/test/cases/32_APL.in
similarity index 100%
rename from src/zscanner/test/tests/32_APL.in
rename to src/zscanner/test/cases/32_APL.in
diff --git a/src/zscanner/test/tests/32_APL.out b/src/zscanner/test/cases/32_APL.out
similarity index 100%
rename from src/zscanner/test/tests/32_APL.out
rename to src/zscanner/test/cases/32_APL.out
diff --git a/src/zscanner/test/tests/33_DS.in b/src/zscanner/test/cases/33_DS.in
similarity index 100%
rename from src/zscanner/test/tests/33_DS.in
rename to src/zscanner/test/cases/33_DS.in
diff --git a/src/zscanner/test/tests/33_DS.out b/src/zscanner/test/cases/33_DS.out
similarity index 100%
rename from src/zscanner/test/tests/33_DS.out
rename to src/zscanner/test/cases/33_DS.out
diff --git a/src/zscanner/test/tests/34_SSHFP.in b/src/zscanner/test/cases/34_SSHFP.in
similarity index 100%
rename from src/zscanner/test/tests/34_SSHFP.in
rename to src/zscanner/test/cases/34_SSHFP.in
diff --git a/src/zscanner/test/tests/34_SSHFP.out b/src/zscanner/test/cases/34_SSHFP.out
similarity index 100%
rename from src/zscanner/test/tests/34_SSHFP.out
rename to src/zscanner/test/cases/34_SSHFP.out
diff --git a/src/zscanner/test/tests/35_IPSECKEY.in b/src/zscanner/test/cases/35_IPSECKEY.in
similarity index 100%
rename from src/zscanner/test/tests/35_IPSECKEY.in
rename to src/zscanner/test/cases/35_IPSECKEY.in
diff --git a/src/zscanner/test/tests/35_IPSECKEY.out b/src/zscanner/test/cases/35_IPSECKEY.out
similarity index 100%
rename from src/zscanner/test/tests/35_IPSECKEY.out
rename to src/zscanner/test/cases/35_IPSECKEY.out
diff --git a/src/zscanner/test/tests/36_RRSIG.in b/src/zscanner/test/cases/36_RRSIG.in
similarity index 100%
rename from src/zscanner/test/tests/36_RRSIG.in
rename to src/zscanner/test/cases/36_RRSIG.in
diff --git a/src/zscanner/test/tests/36_RRSIG.out b/src/zscanner/test/cases/36_RRSIG.out
similarity index 100%
rename from src/zscanner/test/tests/36_RRSIG.out
rename to src/zscanner/test/cases/36_RRSIG.out
diff --git a/src/zscanner/test/tests/37_NSEC.in b/src/zscanner/test/cases/37_NSEC.in
similarity index 100%
rename from src/zscanner/test/tests/37_NSEC.in
rename to src/zscanner/test/cases/37_NSEC.in
diff --git a/src/zscanner/test/tests/37_NSEC.out b/src/zscanner/test/cases/37_NSEC.out
similarity index 100%
rename from src/zscanner/test/tests/37_NSEC.out
rename to src/zscanner/test/cases/37_NSEC.out
diff --git a/src/zscanner/test/tests/38_DHCID.in b/src/zscanner/test/cases/38_DHCID.in
similarity index 100%
rename from src/zscanner/test/tests/38_DHCID.in
rename to src/zscanner/test/cases/38_DHCID.in
diff --git a/src/zscanner/test/tests/38_DHCID.out b/src/zscanner/test/cases/38_DHCID.out
similarity index 100%
rename from src/zscanner/test/tests/38_DHCID.out
rename to src/zscanner/test/cases/38_DHCID.out
diff --git a/src/zscanner/test/tests/39_NSEC3.in b/src/zscanner/test/cases/39_NSEC3.in
similarity index 100%
rename from src/zscanner/test/tests/39_NSEC3.in
rename to src/zscanner/test/cases/39_NSEC3.in
diff --git a/src/zscanner/test/tests/39_NSEC3.out b/src/zscanner/test/cases/39_NSEC3.out
similarity index 100%
rename from src/zscanner/test/tests/39_NSEC3.out
rename to src/zscanner/test/cases/39_NSEC3.out
diff --git a/src/zscanner/test/tests/40_NSEC3PARAM.in b/src/zscanner/test/cases/40_NSEC3PARAM.in
similarity index 100%
rename from src/zscanner/test/tests/40_NSEC3PARAM.in
rename to src/zscanner/test/cases/40_NSEC3PARAM.in
diff --git a/src/zscanner/test/tests/40_NSEC3PARAM.out b/src/zscanner/test/cases/40_NSEC3PARAM.out
similarity index 100%
rename from src/zscanner/test/tests/40_NSEC3PARAM.out
rename to src/zscanner/test/cases/40_NSEC3PARAM.out
diff --git a/src/zscanner/test/tests/41_TLSA.in b/src/zscanner/test/cases/41_TLSA.in
similarity index 100%
rename from src/zscanner/test/tests/41_TLSA.in
rename to src/zscanner/test/cases/41_TLSA.in
diff --git a/src/zscanner/test/tests/41_TLSA.out b/src/zscanner/test/cases/41_TLSA.out
similarity index 100%
rename from src/zscanner/test/tests/41_TLSA.out
rename to src/zscanner/test/cases/41_TLSA.out
diff --git a/src/zscanner/test/tests/42_LOC.in b/src/zscanner/test/cases/42_LOC.in
similarity index 100%
rename from src/zscanner/test/tests/42_LOC.in
rename to src/zscanner/test/cases/42_LOC.in
diff --git a/src/zscanner/test/tests/42_LOC.out b/src/zscanner/test/cases/42_LOC.out
similarity index 100%
rename from src/zscanner/test/tests/42_LOC.out
rename to src/zscanner/test/cases/42_LOC.out
diff --git a/src/zscanner/test/tests/43_EUI48.in b/src/zscanner/test/cases/43_EUI48.in
similarity index 100%
rename from src/zscanner/test/tests/43_EUI48.in
rename to src/zscanner/test/cases/43_EUI48.in
diff --git a/src/zscanner/test/tests/43_EUI48.out b/src/zscanner/test/cases/43_EUI48.out
similarity index 100%
rename from src/zscanner/test/tests/43_EUI48.out
rename to src/zscanner/test/cases/43_EUI48.out
diff --git a/src/zscanner/test/tests/44_EUI64.in b/src/zscanner/test/cases/44_EUI64.in
similarity index 100%
rename from src/zscanner/test/tests/44_EUI64.in
rename to src/zscanner/test/cases/44_EUI64.in
diff --git a/src/zscanner/test/tests/44_EUI64.out b/src/zscanner/test/cases/44_EUI64.out
similarity index 100%
rename from src/zscanner/test/tests/44_EUI64.out
rename to src/zscanner/test/cases/44_EUI64.out
diff --git a/src/zscanner/test/tests/includes/include1 b/src/zscanner/test/cases/includes/include1
similarity index 100%
rename from src/zscanner/test/tests/includes/include1
rename to src/zscanner/test/cases/includes/include1
diff --git a/src/zscanner/test/tests/includes/include2 b/src/zscanner/test/cases/includes/include2
similarity index 100%
rename from src/zscanner/test/tests/includes/include2
rename to src/zscanner/test/cases/includes/include2
diff --git a/src/zscanner/test/tests/includes/include3 b/src/zscanner/test/cases/includes/include3
similarity index 100%
rename from src/zscanner/test/tests/includes/include3
rename to src/zscanner/test/cases/includes/include3
diff --git a/src/zscanner/test/tests/includes/include4 b/src/zscanner/test/cases/includes/include4
similarity index 100%
rename from src/zscanner/test/tests/includes/include4
rename to src/zscanner/test/cases/includes/include4
diff --git a/src/zscanner/test/tests/includes/include5 b/src/zscanner/test/cases/includes/include5
similarity index 100%
rename from src/zscanner/test/tests/includes/include5
rename to src/zscanner/test/cases/includes/include5
diff --git a/src/zscanner/test/tests/includes/include6 b/src/zscanner/test/cases/includes/include6
similarity index 100%
rename from src/zscanner/test/tests/includes/include6
rename to src/zscanner/test/cases/includes/include6
diff --git a/src/zscanner/test/run_tests.sh b/src/zscanner/test/run_tests.sh
index c85aa98f6279950aa7fa526ee490db3483956a7f..a4aca70df4d717622b1e1aac31e4eeb889b08cbb 100755
--- a/src/zscanner/test/run_tests.sh
+++ b/src/zscanner/test/run_tests.sh
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-TESTS_DIR="./tests"
+TESTS_DIR="./cases"
 OUTS_DIR="/tmp/zscanner_tests"
 TEST_BIN="../../zscanner-tool -m 2"