22#include <stdlib.h>
33#include <string.h>
44
5- #include "../testing/misc_tools .h"
5+ #include "../toxcore/os_event .h"
66#include "../toxcore/TCP_client.h"
77#include "../toxcore/TCP_common.h"
88#include "../toxcore/TCP_server.h"
@@ -59,11 +59,14 @@ static void test_basic(void)
5959 Logger * logger = logger_new (mem );
6060 logger_callback_log (logger , print_debug_logger , nullptr , nullptr );
6161
62+ Ev * ev = os_event_new (mem , logger );
63+ ck_assert (ev != nullptr );
64+
6265 // Attempt to create a new TCP_Server instance.
6366 uint8_t self_public_key [CRYPTO_PUBLIC_KEY_SIZE ];
6467 uint8_t self_secret_key [CRYPTO_SECRET_KEY_SIZE ];
6568 crypto_new_keypair (rng , self_public_key , self_secret_key );
66- TCP_Server * tcp_s = new_tcp_server (logger , mem , rng , ns , USE_IPV6 , NUM_PORTS , ports , self_secret_key , nullptr , nullptr );
69+ TCP_Server * tcp_s = new_tcp_server (logger , mem , rng , ns , ev , USE_IPV6 , NUM_PORTS , ports , self_secret_key , nullptr , nullptr );
6770 ck_assert_msg (tcp_s != nullptr , "Failed to create a TCP relay server." );
6871 ck_assert_msg (tcp_server_listen_count (tcp_s ) == NUM_PORTS ,
6972 "Failed to bind a TCP relay server to all %d attempted ports." , NUM_PORTS );
@@ -196,6 +199,7 @@ static void test_basic(void)
196199 // Closing connections.
197200 kill_sock (ns , sock );
198201 kill_tcp_server (tcp_s );
202+ ev_kill (ev );
199203
200204 logger_kill (logger );
201205 mono_time_free (mem , mono_time );
@@ -325,10 +329,13 @@ static void test_some(void)
325329 Mono_Time * mono_time = mono_time_new (mem , nullptr , nullptr );
326330 Logger * logger = logger_new (mem );
327331
332+ Ev * ev = os_event_new (mem , logger );
333+ ck_assert (ev != nullptr );
334+
328335 uint8_t self_public_key [CRYPTO_PUBLIC_KEY_SIZE ];
329336 uint8_t self_secret_key [CRYPTO_SECRET_KEY_SIZE ];
330337 crypto_new_keypair (rng , self_public_key , self_secret_key );
331- TCP_Server * tcp_s = new_tcp_server (logger , mem , rng , ns , USE_IPV6 , NUM_PORTS , ports , self_secret_key , nullptr , nullptr );
338+ TCP_Server * tcp_s = new_tcp_server (logger , mem , rng , ns , ev , USE_IPV6 , NUM_PORTS , ports , self_secret_key , nullptr , nullptr );
332339 ck_assert_msg (tcp_s != nullptr , "Failed to create TCP relay server" );
333340 ck_assert_msg (tcp_server_listen_count (tcp_s ) == NUM_PORTS , "Failed to bind to all ports." );
334341
@@ -422,6 +429,7 @@ static void test_some(void)
422429
423430 // Kill off the connections
424431 kill_tcp_server (tcp_s );
432+ ev_kill (ev );
425433 kill_tcp_con (con1 );
426434 kill_tcp_con (con2 );
427435 kill_tcp_con (con3 );
@@ -522,11 +530,12 @@ static void test_client(void)
522530
523531 Logger * logger = logger_new (mem );
524532 Mono_Time * mono_time = mono_time_new (mem , nullptr , nullptr );
533+ Ev * ev = os_event_new (mem , logger );
525534
526535 uint8_t self_public_key [CRYPTO_PUBLIC_KEY_SIZE ];
527536 uint8_t self_secret_key [CRYPTO_SECRET_KEY_SIZE ];
528537 crypto_new_keypair (rng , self_public_key , self_secret_key );
529- TCP_Server * tcp_s = new_tcp_server (logger , mem , rng , ns , USE_IPV6 , NUM_PORTS , ports , self_secret_key , nullptr , nullptr );
538+ TCP_Server * tcp_s = new_tcp_server (logger , mem , rng , ns , ev , USE_IPV6 , NUM_PORTS , ports , self_secret_key , nullptr , nullptr );
530539 ck_assert_msg (tcp_s != nullptr , "Failed to create a TCP relay server." );
531540 ck_assert_msg (tcp_server_listen_count (tcp_s ) == NUM_PORTS , "Failed to bind the relay server to all ports." );
532541
@@ -538,7 +547,7 @@ static void test_client(void)
538547 ip_port_tcp_s .port = net_htons (ports [random_u32 (rng ) % NUM_PORTS ]);
539548 ip_port_tcp_s .ip = get_loopback ();
540549
541- TCP_Client_Connection * conn = new_tcp_connection (logger , mem , mono_time , rng , ns , & ip_port_tcp_s , self_public_key , f_public_key , f_secret_key , nullptr , nullptr );
550+ TCP_Client_Connection * conn = new_tcp_connection (logger , mem , mono_time , rng , ns , ev , & ip_port_tcp_s , self_public_key , f_public_key , f_secret_key , nullptr , nullptr );
542551 ck_assert_msg (conn != nullptr , "Failed to create a TCP client connection." );
543552 // TCP sockets might need a moment before they can be written to.
544553 c_sleep (50 );
@@ -574,7 +583,7 @@ static void test_client(void)
574583 uint8_t f2_secret_key [CRYPTO_SECRET_KEY_SIZE ];
575584 crypto_new_keypair (rng , f2_public_key , f2_secret_key );
576585 ip_port_tcp_s .port = net_htons (ports [random_u32 (rng ) % NUM_PORTS ]);
577- TCP_Client_Connection * conn2 = new_tcp_connection (logger , mem , mono_time , rng , ns , & ip_port_tcp_s , self_public_key , f2_public_key ,
586+ TCP_Client_Connection * conn2 = new_tcp_connection (logger , mem , mono_time , rng , ns , ev , & ip_port_tcp_s , self_public_key , f2_public_key ,
578587 f2_secret_key , nullptr , nullptr );
579588 ck_assert_msg (conn2 != nullptr , "Failed to create a second TCP client connection." );
580589 c_sleep (50 );
@@ -645,6 +654,7 @@ static void test_client(void)
645654 kill_tcp_connection (conn2 );
646655
647656 logger_kill (logger );
657+ ev_kill (ev );
648658 mono_time_free (mem , mono_time );
649659}
650660
@@ -672,7 +682,8 @@ static void test_client_invalid(void)
672682
673683 ip_port_tcp_s .port = net_htons (ports [random_u32 (rng ) % NUM_PORTS ]);
674684 ip_port_tcp_s .ip = get_loopback ();
675- TCP_Client_Connection * conn = new_tcp_connection (logger , mem , mono_time , rng , ns , & ip_port_tcp_s ,
685+ Ev * ev = os_event_new (mem , logger );
686+ TCP_Client_Connection * conn = new_tcp_connection (logger , mem , mono_time , rng , ns , ev , & ip_port_tcp_s ,
676687 self_public_key , f_public_key , f_secret_key , nullptr , nullptr );
677688 ck_assert_msg (conn != nullptr , "Failed to create a TCP client connection." );
678689
@@ -700,6 +711,7 @@ static void test_client_invalid(void)
700711 kill_tcp_connection (conn );
701712
702713 logger_kill (logger );
714+ ev_kill (ev );
703715 mono_time_free (mem , mono_time );
704716}
705717
@@ -747,18 +759,22 @@ static void test_tcp_connection(void)
747759 uint8_t self_public_key [CRYPTO_PUBLIC_KEY_SIZE ];
748760 uint8_t self_secret_key [CRYPTO_SECRET_KEY_SIZE ];
749761 crypto_new_keypair (rng , self_public_key , self_secret_key );
750- TCP_Server * tcp_s = new_tcp_server (logger , mem , rng , ns , USE_IPV6 , NUM_PORTS , ports , self_secret_key , nullptr , nullptr );
762+
763+ Ev * ev = os_event_new (mem , logger );
764+ ck_assert (ev != nullptr );
765+
766+ TCP_Server * tcp_s = new_tcp_server (logger , mem , rng , ns , ev , USE_IPV6 , NUM_PORTS , ports , self_secret_key , nullptr , nullptr );
751767 ck_assert_msg (pk_equal (tcp_server_public_key (tcp_s ), self_public_key ), "Wrong public key" );
752768
753769 TCP_Proxy_Info proxy_info ;
754770 proxy_info .proxy_type = TCP_PROXY_NONE ;
755771 crypto_new_keypair (rng , self_public_key , self_secret_key );
756- TCP_Connections * tc_1 = new_tcp_connections (logger , mem , rng , ns , mono_time , self_secret_key , & proxy_info , tcp_np );
772+ TCP_Connections * tc_1 = new_tcp_connections (logger , mem , rng , ns , mono_time , ev , self_secret_key , & proxy_info , tcp_np );
757773 ck_assert_msg (tc_1 != nullptr , "Failed to create TCP connections" );
758774 ck_assert_msg (pk_equal (tcp_connections_public_key (tc_1 ), self_public_key ), "Wrong public key" );
759775
760776 crypto_new_keypair (rng , self_public_key , self_secret_key );
761- TCP_Connections * tc_2 = new_tcp_connections (logger , mem , rng , ns , mono_time , self_secret_key , & proxy_info , tcp_np );
777+ TCP_Connections * tc_2 = new_tcp_connections (logger , mem , rng , ns , mono_time , ev , self_secret_key , & proxy_info , tcp_np );
762778 ck_assert_msg (tc_2 != nullptr , "Failed to create TCP connections" );
763779 ck_assert_msg (pk_equal (tcp_connections_public_key (tc_2 ), self_public_key ), "Wrong public key" );
764780
@@ -824,6 +840,7 @@ static void test_tcp_connection(void)
824840 netprof_kill (mem , tcp_np );
825841
826842 logger_kill (logger );
843+ ev_kill (ev );
827844 mono_time_free (mem , mono_time );
828845}
829846
@@ -869,18 +886,22 @@ static void test_tcp_connection2(void)
869886 uint8_t self_public_key [CRYPTO_PUBLIC_KEY_SIZE ];
870887 uint8_t self_secret_key [CRYPTO_SECRET_KEY_SIZE ];
871888 crypto_new_keypair (rng , self_public_key , self_secret_key );
872- TCP_Server * tcp_s = new_tcp_server (logger , mem , rng , ns , USE_IPV6 , NUM_PORTS , ports , self_secret_key , nullptr , nullptr );
889+
890+ Ev * ev = os_event_new (mem , logger );
891+ ck_assert (ev != nullptr );
892+
893+ TCP_Server * tcp_s = new_tcp_server (logger , mem , rng , ns , ev , USE_IPV6 , NUM_PORTS , ports , self_secret_key , nullptr , nullptr );
873894 ck_assert_msg (pk_equal (tcp_server_public_key (tcp_s ), self_public_key ), "Wrong public key" );
874895
875896 TCP_Proxy_Info proxy_info ;
876897 proxy_info .proxy_type = TCP_PROXY_NONE ;
877898 crypto_new_keypair (rng , self_public_key , self_secret_key );
878- TCP_Connections * tc_1 = new_tcp_connections (logger , mem , rng , ns , mono_time , self_secret_key , & proxy_info , tcp_np );
899+ TCP_Connections * tc_1 = new_tcp_connections (logger , mem , rng , ns , mono_time , ev , self_secret_key , & proxy_info , tcp_np );
879900 ck_assert_msg (tc_1 != nullptr , "Failed to create TCP connections" );
880901 ck_assert_msg (pk_equal (tcp_connections_public_key (tc_1 ), self_public_key ), "Wrong public key" );
881902
882903 crypto_new_keypair (rng , self_public_key , self_secret_key );
883- TCP_Connections * tc_2 = new_tcp_connections (logger , mem , rng , ns , mono_time , self_secret_key , & proxy_info , tcp_np );
904+ TCP_Connections * tc_2 = new_tcp_connections (logger , mem , rng , ns , mono_time , ev , self_secret_key , & proxy_info , tcp_np );
884905 ck_assert_msg (tc_2 != nullptr , "Failed to create TCP connections" );
885906 ck_assert_msg (pk_equal (tcp_connections_public_key (tc_2 ), self_public_key ), "Wrong public key" );
886907
@@ -939,6 +960,7 @@ static void test_tcp_connection2(void)
939960 kill_tcp_connections (tc_2 );
940961
941962 logger_kill (logger );
963+ ev_kill (ev );
942964 mono_time_free (mem , mono_time );
943965}
944966
0 commit comments