aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Jonas Gunz <himself@jonasgunz.de> 2021-09-20 12:58:43 +0200
committerGravatar Jonas Gunz <himself@jonasgunz.de> 2021-09-20 12:58:43 +0200
commit966dcd15e37f66f6a52d3ef41da2a8f9cc1806a9 (patch)
tree1cbc96b79a6fa6ec50b292d592730e82def42932
parent0c92608cb617b802085f662437a836a48a1f5017 (diff)
downloaddns-966dcd15e37f66f6a52d3ef41da2a8f9cc1806a9.tar.gz
delete old tests
-rw-r--r--src/test.c198
-rw-r--r--src/test.h34
2 files changed, 0 insertions, 232 deletions
diff --git a/src/test.c b/src/test.c
deleted file mode 100644
index 1998f2c..0000000
--- a/src/test.c
+++ /dev/null
@@ -1,198 +0,0 @@
-/* test.c
- * (c) Jonas Gunz, 2020
- * License: MIT
- * */
-
-#include "test.h"
-
-#ifdef _TEST
-
-void run_test ()
-{
- log_init_stdout(_LOG_DEBUG);
- //Space for temporary tests
-
- //tree_balanced_insert(NULL, NULL, NULL, 15 );
- //
- //Normal tests
-
- int ret = 0;
-
- ret += test_tree();
- ret += test_dns_parsing();
- ret += test_dns_message_fuzz();
- ret += test_dns_qname_fuzz();
- ret += test_database();
-
- exit(ret);
-}
-
-int test_tree ()
-{
- unsigned int i, j;
-
- unsigned const int len = pow ( 'z' - 'a' + 1, 2);
- unsigned int len_cnt = 0;
- char* keys[len];
- char* data[len];
-
- struct tree_node* root = NULL;
-
- printf("\n-> test_tree()\n======\n\n");
-
- for ( i = 'a'; i <= 'z'; i++ ) {
- for ( j = 'a'; j <= 'z'; j++ ) {
- keys[len_cnt] = malloc (3);
- keys[len_cnt][0] = i;
- keys[len_cnt][1] = j;
- keys[len_cnt][2] = 0;
-
- data[len_cnt] = malloc(10);
- snprintf( data[len_cnt], 10, "N%i", len_cnt );
-
- len_cnt ++;
- }
- }
-
- printf("len_cnt %i\n", len_cnt);
-
- tree_balanced_insert( &root, (void**)data, keys, len );
-
- printf("After Insert\n");
-
- printf("%s\n", (char*)tree_get(&root, "aa"));
-
- for ( i = 0; i < len; i++ ) {
- if ( strcmp( tree_get(&root, keys[i]), data[i] ) )
- LOGPRINTF(_LOG_WARNING, "Data does not match for %s", keys[i]);
- }
-
- printf("After Get\n");
-
- tree_destroy (&root, _TREE_FREE_DATA | _TREE_FREE_KEY);
-
- printf("After destroy\n");
-
- return 0;
-}
-
-int test_dns_parsing ()
-{
- int i;
-
- printf("\n-> test_dns_parsing()\n======\n\n");
- char in[128];
- char out[128];
-
- strncpy ( in, "sub.domain.example.com\0", 127);
-
- printf("%s\n", in);
-
- int written = fqdn_to_qname (in,128,out,128);
-
- if ( qname_check(out,128) < 0)
- printf("Wrong\n");
- else
- printf("qname ok\n");
-
- if (written < 0) {
- printf("invallid fqdn\n");
- return 1;
- }
-
- for(i = 0; i < written; i++)
- printf(" %x ", out[i]);
-
- written = qname_to_fqdn (out,128,in,128);
-
- if (written < 0) {
- printf("invalid qname\n");
- return 1;
- }
-
- printf("%s\n", in);
-
- printf("\n\n");
- return 0;
-}
-
-int test_dns_qname_fuzz()
-{
- printf("\n-> test_parsing_fuzz()\n======\n\n");
- FILE* urand = fopen ("/dev/urandom", "r");
- char rand[128];
- char out[129];
- out[128] = 0;
-
- if (!urand)
- return 1;
-
- unsigned long int limit = 10000000;
- unsigned long int valid_cnt = 0;
- for (unsigned long int i = 0; i < limit; i++) {
- if (fread (rand, 128, 1, urand) > 0) {
- if ( qname_check(rand, 128) > 0 ) {
- qname_to_fqdn ( rand, 128, out, 128);
- //printf("Valid %s\n", out);
- valid_cnt++;
- }
- }
- }
-
- float valid_percent = (float)valid_cnt / (float)limit * 100;
- printf("# of valid qnames in random data: %lu / %lu = %f%%\n", valid_cnt, limit, valid_percent);
-
- return 0;
-}
-
-int test_dns_message_fuzz()
-{
- printf("\n-> test_dns_message_fuzz()\n======\n\n");
- FILE* urand = fopen ("/dev/urandom", "r");
- char rand[128];
-
- if (!urand)
- return 1;
-
- unsigned long int limit = 10000000;
- unsigned long int valid_cnt = 0;
- struct dns_message msg;
-
- for (unsigned long int i = 0; i < limit; i++) {
- if (fread (rand, 128, 1, urand) > 0) {
- if ( ! dns_parse_packet(rand, 128, &msg) ) {
- valid_cnt++;
- }
- }
- }
-
- float valid_percent = (float)valid_cnt / (float)limit * 100;
- printf("# of valid messages in random data: %lu / %lu = %f%%\n", valid_cnt, limit, valid_percent);
-
- return 0;
-}
-
-int test_database(){
- struct database db;
- struct database_rdata rdata;
-
- if ( database_populate( &db, "nofile" ) )
- return 1;
-
- printf("Populated\n");
-
- char* qname = malloc(32);
- int len = fqdn_to_qname( "test.example.com.", 18, qname, 32 );
-
- int ret = database_query ( &rdata, &db, qname, len, 1, 1 );
- printf("Return code %i, rdlen %i\n", ret, rdata.rdlen);
-
- database_destroy( &db );
-
- free(qname);
- qname = NULL;
-
- return 0;
-}
-
-#endif
diff --git a/src/test.h b/src/test.h
deleted file mode 100644
index 989fecf..0000000
--- a/src/test.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/* test.h
- * (c) Jonas Gunz, 2020
- * License: MIT
- * */
-
-#pragma once
-
-#include <stdio.h>
-#include "tree.h"
-#include "dns.h"
-#include "database.h"
-
-/*
- * TODO
- * * fuzz dns_parse_packet()
- * * test dns_parse_packet() with random valid data
- * * test qname_check() with random valid data
- */
-
-#ifdef _TEST
-
-void run_test ();
-
-int test_tree ();
-
-int test_dns_parsing ();
-
-int test_dns_qname_fuzz();
-
-int test_dns_message_fuzz();
-
-int test_database();
-
-#endif