summaryrefslogtreecommitdiff
path: root/auto_tests/dht_test.c
diff options
context:
space:
mode:
authorhugbubby <hugbubby@protonmail.com>2018-07-15 17:09:13 -0700
committerhugbubby <hugbubby@protonmail.com>2018-07-18 13:55:30 -0700
commit864d1c15e4a3b8df236af320312e8115c6bcd791 (patch)
tree945467578a0f7ee140f7d1641e3f4042e63b5bc8 /auto_tests/dht_test.c
parent392eef7900fdedda28f9c3aff5b0434f963a7f86 (diff)
Using stdint instead of int/long
Did my best to surmise the size requirements of these integers, will do the rest of the tests soon. Also added a todo and made an obsessive change to a for loop.
Diffstat (limited to 'auto_tests/dht_test.c')
-rw-r--r--auto_tests/dht_test.c53
1 files changed, 27 insertions, 26 deletions
diff --git a/auto_tests/dht_test.c b/auto_tests/dht_test.c
index a63a55b0..dec803e5 100644
--- a/auto_tests/dht_test.c
+++ b/auto_tests/dht_test.c
@@ -94,9 +94,9 @@ static uint8_t is_furthest(const uint8_t *comp_client_id, Client_data *list, uin
94 94
95static int client_in_list(Client_data *list, uint32_t length, const uint8_t *public_key) 95static int client_in_list(Client_data *list, uint32_t length, const uint8_t *public_key)
96{ 96{
97 int i; 97 uint32_t i;
98 98
99 for (i = 0; i < (int)length; ++i) { 99 for (i = 0; i < (uint32_t)length; ++i) {
100 if (id_equal(public_key, list[i].public_key)) { 100 if (id_equal(public_key, list[i].public_key)) {
101 return i; 101 return i;
102 } 102 }
@@ -110,7 +110,7 @@ static void test_addto_lists_update(DHT *dht,
110 uint32_t length, 110 uint32_t length,
111 IP_Port *ip_port) 111 IP_Port *ip_port)
112{ 112{
113 int used, test, test1, test2, found; 113 uint32_t used, test, test1, test2, found;
114 IP_Port test_ipp; 114 IP_Port test_ipp;
115 uint8_t test_id[CRYPTO_PUBLIC_KEY_SIZE]; 115 uint8_t test_id[CRYPTO_PUBLIC_KEY_SIZE];
116 uint8_t ipv6 = net_family_is_ipv6(ip_port->ip.family) ? 1 : 0; 116 uint8_t ipv6 = net_family_is_ipv6(ip_port->ip.family) ? 1 : 0;
@@ -229,7 +229,7 @@ static void test_addto_lists_possible_bad(DHT *dht,
229 const uint8_t *comp_client_id) 229 const uint8_t *comp_client_id)
230{ 230{
231 // check "possibly bad" clients replacement 231 // check "possibly bad" clients replacement
232 int used, test1, test2, test3; 232 uint32_t used, test1, test2, test3;
233 uint8_t public_key[CRYPTO_PUBLIC_KEY_SIZE], test_id1[CRYPTO_PUBLIC_KEY_SIZE], test_id2[CRYPTO_PUBLIC_KEY_SIZE], 233 uint8_t public_key[CRYPTO_PUBLIC_KEY_SIZE], test_id1[CRYPTO_PUBLIC_KEY_SIZE], test_id2[CRYPTO_PUBLIC_KEY_SIZE],
234 test_id3[CRYPTO_PUBLIC_KEY_SIZE]; 234 test_id3[CRYPTO_PUBLIC_KEY_SIZE];
235 uint8_t ipv6 = net_family_is_ipv6(ip_port->ip.family) ? 1 : 0; 235 uint8_t ipv6 = net_family_is_ipv6(ip_port->ip.family) ? 1 : 0;
@@ -263,9 +263,9 @@ static void test_addto_lists_possible_bad(DHT *dht,
263 263
264 ck_assert_msg(client_in_list(list, length, public_key) >= 0, "Client id is not in the list"); 264 ck_assert_msg(client_in_list(list, length, public_key) >= 0, "Client id is not in the list");
265 265
266 int inlist_id1 = client_in_list(list, length, test_id1) >= 0; 266 bool inlist_id1 = client_in_list(list, length, test_id1) >= 0;
267 int inlist_id2 = client_in_list(list, length, test_id2) >= 0; 267 bool inlist_id2 = client_in_list(list, length, test_id2) >= 0;
268 int inlist_id3 = client_in_list(list, length, test_id3) >= 0; 268 bool inlist_id3 = client_in_list(list, length, test_id3) >= 0;
269 269
270 ck_assert_msg(inlist_id1 + inlist_id2 + inlist_id3 == 2, "Wrong client removed"); 270 ck_assert_msg(inlist_id1 + inlist_id2 + inlist_id3 == 2, "Wrong client removed");
271 271
@@ -337,7 +337,7 @@ static void test_addto_lists(IP ip)
337 ip_port.ip = ip; 337 ip_port.ip = ip;
338 ip_port.port = TOX_PORT_DEFAULT; 338 ip_port.port = TOX_PORT_DEFAULT;
339 uint8_t public_key[CRYPTO_PUBLIC_KEY_SIZE]; 339 uint8_t public_key[CRYPTO_PUBLIC_KEY_SIZE];
340 int i, used; 340 uint16_t i, used;
341 341
342 // check lists filling 342 // check lists filling
343 for (i = 0; i < MAX(LCLIENT_LIST, MAX_FRIEND_CLIENTS); ++i) { 343 for (i = 0; i < MAX(LCLIENT_LIST, MAX_FRIEND_CLIENTS); ++i) {
@@ -426,11 +426,11 @@ static void print_pk(uint8_t *public_key)
426} 426}
427 427
428static void test_add_to_list(uint8_t cmp_list[][CRYPTO_PUBLIC_KEY_SIZE + 1], 428static void test_add_to_list(uint8_t cmp_list[][CRYPTO_PUBLIC_KEY_SIZE + 1],
429 unsigned int length, const uint8_t *pk, 429 uint16_t length, const uint8_t *pk,
430 const uint8_t *cmp_pk) 430 const uint8_t *cmp_pk)
431{ 431{
432 uint8_t p_b[CRYPTO_PUBLIC_KEY_SIZE]; 432 uint8_t p_b[CRYPTO_PUBLIC_KEY_SIZE];
433 unsigned int i; 433 uint16_t i;
434 434
435 for (i = 0; i < length; ++i) { 435 for (i = 0; i < length; ++i) {
436 if (!cmp_list[i][CRYPTO_PUBLIC_KEY_SIZE]) { 436 if (!cmp_list[i][CRYPTO_PUBLIC_KEY_SIZE]) {
@@ -465,7 +465,7 @@ static void test_list_main(void)
465 uint8_t cmp_list1[NUM_DHT][MAX_FRIEND_CLIENTS][CRYPTO_PUBLIC_KEY_SIZE + 1]; 465 uint8_t cmp_list1[NUM_DHT][MAX_FRIEND_CLIENTS][CRYPTO_PUBLIC_KEY_SIZE + 1];
466 memset(cmp_list1, 0, sizeof(cmp_list1)); 466 memset(cmp_list1, 0, sizeof(cmp_list1));
467 467
468 unsigned int i, j, k, l; 468 uint16_t i, j, k, l;
469 469
470 for (i = 0; i < NUM_DHT; ++i) { 470 for (i = 0; i < NUM_DHT; ++i) {
471 IP ip; 471 IP ip;
@@ -481,14 +481,14 @@ static void test_list_main(void)
481 "Bound to wrong port: %d", net_port(dhts[i]->net)); 481 "Bound to wrong port: %d", net_port(dhts[i]->net));
482 } 482 }
483 483
484 for (j = 0; j < NUM_DHT; ++j) { 484 for (i = 0; i < NUM_DHT; ++i) {
485 for (i = 1; i < NUM_DHT; ++i) { 485 for (j = 1; j < NUM_DHT; ++j) {
486 test_add_to_list(cmp_list1[j], MAX_FRIEND_CLIENTS, dhts[(i + j) % NUM_DHT]->self_public_key, dhts[j]->self_public_key); 486 test_add_to_list(cmp_list1[i], MAX_FRIEND_CLIENTS, dhts[(i + j) % NUM_DHT]->self_public_key, dhts[i]->self_public_key);
487 } 487 }
488 } 488 }
489 489
490 for (j = 0; j < NUM_DHT; ++j) { 490 for (i = 0; i < NUM_DHT; ++i) {
491 for (i = 0; i < NUM_DHT; ++i) { 491 for (j = 0; j < NUM_DHT; ++j) {
492 if (i == j) { 492 if (i == j) {
493 continue; 493 continue;
494 } 494 }
@@ -498,7 +498,7 @@ static void test_list_main(void)
498 ip_port.ip.ip.v4.uint32 = random_u32(); 498 ip_port.ip.ip.v4.uint32 = random_u32();
499 ip_port.port = random_u32() % (UINT16_MAX - 1); 499 ip_port.port = random_u32() % (UINT16_MAX - 1);
500 ++ip_port.port; 500 ++ip_port.port;
501 addto_lists(dhts[j], ip_port, dhts[i]->self_public_key); 501 addto_lists(dhts[i], ip_port, dhts[j]->self_public_key);
502 } 502 }
503 } 503 }
504 504
@@ -512,7 +512,7 @@ static void test_list_main(void)
512 } 512 }
513 513
514#endif 514#endif
515 unsigned int m_count = 0; 515 uint16_t m_count = 0;
516 516
517 for (l = 0; l < NUM_DHT; ++l) { 517 for (l = 0; l < NUM_DHT; ++l) {
518 for (i = 0; i < MAX_FRIEND_CLIENTS; ++i) { 518 for (i = 0; i < MAX_FRIEND_CLIENTS; ++i) {
@@ -521,7 +521,7 @@ static void test_list_main(void)
521 continue; 521 continue;
522 } 522 }
523 523
524 unsigned int count = 0; 524 uint16_t count = 0;
525 525
526 for (k = 0; k < LCLIENT_LIST; ++k) { 526 for (k = 0; k < LCLIENT_LIST; ++k) {
527 if (memcmp(dhts[l]->self_public_key, dhts[(l + j) % NUM_DHT]->close_clientlist[k].public_key, 527 if (memcmp(dhts[l]->self_public_key, dhts[(l + j) % NUM_DHT]->close_clientlist[k].public_key,
@@ -550,7 +550,7 @@ static void test_list_main(void)
550 ck_assert_msg(count == 1, "Nodes in search don't know ip of friend. %u %u %u", i, j, count); 550 ck_assert_msg(count == 1, "Nodes in search don't know ip of friend. %u %u %u", i, j, count);
551 551
552 Node_format ln[MAX_SENT_NODES]; 552 Node_format ln[MAX_SENT_NODES];
553 int n = get_close_nodes(dhts[(l + j) % NUM_DHT], dhts[l]->self_public_key, ln, net_family_unspec, 1, 0); 553 uint16_t n = get_close_nodes(dhts[(l + j) % NUM_DHT], dhts[l]->self_public_key, ln, net_family_unspec, 1, 0);
554 ck_assert_msg(n == MAX_SENT_NODES, "bad num close %u | %u %u", n, i, j); 554 ck_assert_msg(n == MAX_SENT_NODES, "bad num close %u | %u %u", n, i, j);
555 555
556 count = 0; 556 count = 0;
@@ -589,7 +589,7 @@ static void test_list_main(void)
589 589
590START_TEST(test_list) 590START_TEST(test_list)
591{ 591{
592 unsigned int i; 592 uint8_t i;
593 593
594 for (i = 0; i < 10; ++i) { 594 for (i = 0; i < 10; ++i) {
595 test_list_main(); 595 test_list_main();
@@ -610,7 +610,7 @@ START_TEST(test_DHT_test)
610 Logger *logs[NUM_DHT]; 610 Logger *logs[NUM_DHT];
611 uint32_t index[NUM_DHT]; 611 uint32_t index[NUM_DHT];
612 612
613 unsigned int i, j; 613 uint32_t i, j;
614 614
615 for (i = 0; i < NUM_DHT; ++i) { 615 for (i = 0; i < NUM_DHT; ++i) {
616 IP ip; 616 IP ip;
@@ -631,6 +631,7 @@ START_TEST(test_DHT_test)
631 } pairs[NUM_DHT_FRIENDS]; 631 } pairs[NUM_DHT_FRIENDS];
632 632
633 for (i = 0; i < NUM_DHT_FRIENDS; ++i) { 633 for (i = 0; i < NUM_DHT_FRIENDS; ++i) {
634 //TODO: Hugbubby say goto bad >:(
634loop_top: 635loop_top:
635 pairs[i].tox1 = random_u32() % NUM_DHT; 636 pairs[i].tox1 = random_u32() % NUM_DHT;
636 pairs[i].tox2 = (pairs[i].tox1 + (random_u32() % (NUM_DHT - 1)) + 1) % NUM_DHT; 637 pairs[i].tox2 = (pairs[i].tox1 + (random_u32() % (NUM_DHT - 1)) + 1) % NUM_DHT;
@@ -694,7 +695,7 @@ START_TEST(test_dht_create_packet)
694 uint8_t key[CRYPTO_SYMMETRIC_KEY_SIZE]; 695 uint8_t key[CRYPTO_SYMMETRIC_KEY_SIZE];
695 new_symmetric_key(key); 696 new_symmetric_key(key);
696 697
697 int length = dht_create_packet(key, key, NET_PACKET_GET_NODES, plain, sizeof(plain), pkt); 698 uint16_t length = dht_create_packet(key, key, NET_PACKET_GET_NODES, plain, sizeof(plain), pkt);
698 699
699 ck_assert_msg(pkt[0] == NET_PACKET_GET_NODES, "Malformed packet."); 700 ck_assert_msg(pkt[0] == NET_PACKET_GET_NODES, "Malformed packet.");
700 ck_assert_msg(memcmp(pkt + 1, key, CRYPTO_SYMMETRIC_KEY_SIZE) == 0, "Malformed packet."); 701 ck_assert_msg(memcmp(pkt + 1, key, CRYPTO_SYMMETRIC_KEY_SIZE) == 0, "Malformed packet.");
@@ -709,14 +710,14 @@ END_TEST
709 710
710static void dht_pack_unpack(const Node_format *nodes, size_t size, uint8_t *data, size_t length) 711static void dht_pack_unpack(const Node_format *nodes, size_t size, uint8_t *data, size_t length)
711{ 712{
712 int packed_size = pack_nodes(data, length, nodes, size); 713 uint16_t packed_size = pack_nodes(data, length, nodes, size);
713 ck_assert_msg(packed_size != -1, "Wrong pack_nodes result"); 714 ck_assert_msg(packed_size != -1, "Wrong pack_nodes result");
714 715
715 uint16_t processed = 0; 716 uint16_t processed = 0;
716 VLA(Node_format, nodes_unpacked, size); 717 VLA(Node_format, nodes_unpacked, size);
717 const uint8_t tcp_enabled = 1; 718 const uint8_t tcp_enabled = 1;
718 719
719 int unpacked_count = unpack_nodes(nodes_unpacked, size, &processed, data, length, tcp_enabled); 720 uint16_t unpacked_count = unpack_nodes(nodes_unpacked, size, &processed, data, length, tcp_enabled);
720 ck_assert_msg(unpacked_count == size, "Wrong unpack_nodes result"); 721 ck_assert_msg(unpacked_count == size, "Wrong unpack_nodes result");
721 ck_assert_msg(processed == packed_size, "unpack_nodes did not process all data"); 722 ck_assert_msg(processed == packed_size, "unpack_nodes did not process all data");
722 723
@@ -822,7 +823,7 @@ int main(void)
822 Suite *dht = dht_suite(); 823 Suite *dht = dht_suite();
823 SRunner *test_runner = srunner_create(dht); 824 SRunner *test_runner = srunner_create(dht);
824 825
825 int number_failed = 0; 826 uint8_t number_failed = 0;
826 //srunner_set_fork_status(test_runner, CK_NOFORK); 827 //srunner_set_fork_status(test_runner, CK_NOFORK);
827 srunner_run_all(test_runner, CK_NORMAL); 828 srunner_run_all(test_runner, CK_NORMAL);
828 number_failed = srunner_ntests_failed(test_runner); 829 number_failed = srunner_ntests_failed(test_runner);