diff options
author | hugbubby <hugbubby@protonmail.com> | 2018-07-15 17:09:13 -0700 |
---|---|---|
committer | hugbubby <hugbubby@protonmail.com> | 2018-07-18 13:55:30 -0700 |
commit | 864d1c15e4a3b8df236af320312e8115c6bcd791 (patch) | |
tree | 945467578a0f7ee140f7d1641e3f4042e63b5bc8 /auto_tests/dht_test.c | |
parent | 392eef7900fdedda28f9c3aff5b0434f963a7f86 (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.c | 53 |
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 | ||
95 | static int client_in_list(Client_data *list, uint32_t length, const uint8_t *public_key) | 95 | static 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 | ||
428 | static void test_add_to_list(uint8_t cmp_list[][CRYPTO_PUBLIC_KEY_SIZE + 1], | 428 | static 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 | ||
590 | START_TEST(test_list) | 590 | START_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 >:( | ||
634 | loop_top: | 635 | loop_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 | ||
710 | static void dht_pack_unpack(const Node_format *nodes, size_t size, uint8_t *data, size_t length) | 711 | static 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); |