diff --git a/CMakeLists.txt b/CMakeLists.txt index 17ccfd54a8..5a939ac9c2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -432,7 +432,6 @@ auto_test(save_load) auto_test(send_message) auto_test(set_name) auto_test(set_status_message) -auto_test(skeleton) auto_test(tox_many) auto_test(tox_many_tcp) auto_test(tox_one) diff --git a/auto_tests/Makefile.inc b/auto_tests/Makefile.inc index 57716fbf2a..71cda96faf 100644 --- a/auto_tests/Makefile.inc +++ b/auto_tests/Makefile.inc @@ -29,7 +29,6 @@ TESTS = \ send_message_test \ set_name_test \ set_status_message_test \ - skeleton_test \ TCP_test \ tox_many_tcp_test \ tox_many_test \ diff --git a/auto_tests/TCP_test.c b/auto_tests/TCP_test.c index 8e7bdcd3bb..718e2a4b62 100644 --- a/auto_tests/TCP_test.c +++ b/auto_tests/TCP_test.c @@ -41,7 +41,7 @@ static void do_TCP_server_delay(TCP_Server *tcp_s, Mono_Time *mono_time, int del } static uint16_t ports[NUM_PORTS] = {13215, 33445, 25643}; -START_TEST(test_basic) +static void test_basic(void) { Mono_Time *mono_time = mono_time_new(); Logger *logger = logger_new(); @@ -172,7 +172,6 @@ START_TEST(test_basic) logger_kill(logger); mono_time_free(mono_time); } -END_TEST struct sec_TCP_con { Socket sock; @@ -241,7 +240,7 @@ static void kill_TCP_con(struct sec_TCP_con *con) free(con); } -static int write_packet_TCP_secure_connection(struct sec_TCP_con *con, uint8_t *data, uint16_t length) +static int write_packet_TCP_secure_connection(struct sec_TCP_con *con, const uint8_t *data, uint16_t length) { VLA(uint8_t, packet, sizeof(uint16_t) + length + CRYPTO_MAC_SIZE); @@ -269,7 +268,7 @@ static int read_packet_sec_TCP(struct sec_TCP_con *con, uint8_t *data, uint16_t return rlen; } -START_TEST(test_some) +static void test_some(void) { Mono_Time *mono_time = mono_time_new(); Logger *logger = logger_new(); @@ -375,7 +374,6 @@ START_TEST(test_some) logger_kill(logger); mono_time_free(mono_time); } -END_TEST static int response_callback_good; static uint8_t response_callback_connection_id; @@ -458,7 +456,7 @@ static int oob_data_callback(void *object, const uint8_t *public_key, const uint return 1; } -START_TEST(test_client) +static void test_client(void) { Mono_Time *mono_time = mono_time_new(); Logger *logger = logger_new(); @@ -584,10 +582,9 @@ START_TEST(test_client) logger_kill(logger); mono_time_free(mono_time); } -END_TEST // Test how the client handles servers that don't respond. -START_TEST(test_client_invalid) +static void test_client_invalid(void) { Mono_Time *mono_time = mono_time_new(); Logger *logger = logger_new(); @@ -632,7 +629,6 @@ START_TEST(test_client_invalid) logger_kill(logger); mono_time_free(mono_time); } -END_TEST #include "../toxcore/TCP_connection.h" @@ -660,7 +656,7 @@ static int tcp_data_callback(void *object, int id, const uint8_t *data, uint16_t } -START_TEST(test_tcp_connection) +static void test_tcp_connection(void) { Mono_Time *mono_time = mono_time_new(); Logger *logger = logger_new(); @@ -744,7 +740,6 @@ START_TEST(test_tcp_connection) logger_kill(logger); mono_time_free(mono_time); } -END_TEST static bool tcp_oobdata_callback_called; static int tcp_oobdata_callback(void *object, const uint8_t *public_key, unsigned int id, const uint8_t *data, @@ -767,7 +762,7 @@ static int tcp_oobdata_callback(void *object, const uint8_t *public_key, unsigne return 0; } -START_TEST(test_tcp_connection2) +static void test_tcp_connection2(void) { Mono_Time *mono_time = mono_time_new(); Logger *logger = logger_new(); @@ -846,33 +841,20 @@ START_TEST(test_tcp_connection2) logger_kill(logger); mono_time_free(mono_time); } -END_TEST -static Suite *TCP_suite(void) +static void TCP_suite(void) { - Suite *s = suite_create("TCP"); - - DEFTESTCASE_SLOW(basic, 5); - DEFTESTCASE_SLOW(some, 10); - DEFTESTCASE_SLOW(client, 10); - DEFTESTCASE_SLOW(client_invalid, 15); - DEFTESTCASE_SLOW(tcp_connection, 20); - DEFTESTCASE_SLOW(tcp_connection2, 20); - return s; + test_basic(); + test_some(); + test_client(); + test_client_invalid(); + test_tcp_connection(); + test_tcp_connection2(); } int main(void) { setvbuf(stdout, nullptr, _IONBF, 0); - - Suite *TCP = TCP_suite(); - SRunner *test_runner = srunner_create(TCP); - - int number_failed = 0; - srunner_run_all(test_runner, CK_NORMAL); - number_failed = srunner_ntests_failed(test_runner); - - srunner_free(test_runner); - - return number_failed; + TCP_suite(); + return 0; } diff --git a/auto_tests/check_compat.h b/auto_tests/check_compat.h index b1b73e0fdd..72fa55bcc8 100644 --- a/auto_tests/check_compat.h +++ b/auto_tests/check_compat.h @@ -3,44 +3,9 @@ #include "../toxcore/ccompat.h" -#include #include #include -#define START_TEST(name) static void name(void) -#define END_TEST - -#define DEFTESTCASE(NAME) test_##NAME() -#define DEFTESTCASE_SLOW(NAME, TIMEOUT) test_##NAME() - -typedef struct Suite Suite; -typedef struct SRunner SRunner; -enum SRunMode { CK_NORMAL }; - -static inline Suite *suite_create(const char *title) -{ - printf("Running test suite: %s\n", title); - return nullptr; -} - -static inline SRunner *srunner_create(Suite *s) -{ - return nullptr; -} - -static inline void srunner_free(SRunner *s) -{ -} - -static inline void srunner_run_all(SRunner *r, int mode) -{ -} - -static inline int srunner_ntests_failed(SRunner *r) -{ - return 0; -} - #define ck_assert(ok) do { \ if (!(ok)) { \ fprintf(stderr, "%s:%d: failed `%s'\n", __FILE__, __LINE__, #ok); \ diff --git a/auto_tests/crypto_test.c b/auto_tests/crypto_test.c index 8587020a39..9ab06363bc 100644 --- a/auto_tests/crypto_test.c +++ b/auto_tests/crypto_test.c @@ -80,7 +80,7 @@ static const unsigned char test_c[147] = { 0xe3, 0x55, 0xa5 }; -START_TEST(test_known) +static void test_known(void) { unsigned char c[147]; unsigned char m[131]; @@ -101,9 +101,8 @@ START_TEST(test_known) ck_assert_msg(memcmp(test_m, m, sizeof(m)) == 0, "decrypted text doesn't match test vector"); ck_assert_msg(mlen == sizeof(m) / sizeof(unsigned char), "wrong plaintext length"); } -END_TEST -START_TEST(test_fast_known) +static void test_fast_known(void) { unsigned char k[CRYPTO_SHARED_KEY_SIZE]; unsigned char c[147]; @@ -127,9 +126,8 @@ START_TEST(test_fast_known) ck_assert_msg(memcmp(test_m, m, sizeof(m)) == 0, "decrypted text doesn't match test vector"); ck_assert_msg(mlen == sizeof(m) / sizeof(unsigned char), "wrong plaintext length"); } -END_TEST -START_TEST(test_endtoend) +static void test_endtoend(void) { // Test 100 random messages and keypairs for (uint8_t testno = 0; testno < 100; testno++) { @@ -191,9 +189,8 @@ START_TEST(test_endtoend) ck_assert_msg(memcmp(m1, m, mlen) == 0, "wrong decrypted text"); } } -END_TEST -START_TEST(test_large_data) +static void test_large_data(void) { unsigned char k[CRYPTO_SHARED_KEY_SIZE]; @@ -228,9 +225,8 @@ START_TEST(test_large_data) ck_assert_msg(m1plen == sizeof(m1), "decrypted text lengths differ"); ck_assert_msg(memcmp(m1prime, m1, sizeof(m1)) == 0, "decrypted texts differ"); } -END_TEST -START_TEST(test_large_data_symmetric) +static void test_large_data_symmetric(void) { unsigned char k[CRYPTO_SYMMETRIC_KEY_SIZE]; @@ -258,7 +254,6 @@ START_TEST(test_large_data_symmetric) ck_assert_msg(m1plen == sizeof(m1), "decrypted text lengths differ"); ck_assert_msg(memcmp(m1prime, m1, sizeof(m1)) == 0, "decrypted texts differ"); } -END_TEST static void increment_nonce_number_cmp(uint8_t *nonce, uint32_t num) { @@ -281,7 +276,7 @@ static void increment_nonce_number_cmp(uint8_t *nonce, uint32_t num) memcpy(nonce + (CRYPTO_NONCE_SIZE - sizeof(num2)), &num2, sizeof(num2)); } -START_TEST(test_increment_nonce) +static void test_increment_nonce(void) { uint32_t i; @@ -308,9 +303,8 @@ START_TEST(test_increment_nonce) ck_assert_msg(memcmp(n, n1, CRYPTO_NONCE_SIZE) == 0, "Bad increment_nonce_number function"); } } -END_TEST -START_TEST(test_memzero) +static void test_memzero(void) { uint8_t src[sizeof(test_c)]; memcpy(src, test_c, sizeof(test_c)); @@ -322,35 +316,18 @@ START_TEST(test_memzero) ck_assert_msg(src[i] == 0, "Memory is not zeroed"); } } -END_TEST - -static Suite *crypto_suite(void) -{ - Suite *s = suite_create("Crypto"); - - DEFTESTCASE(known); - DEFTESTCASE(fast_known); - DEFTESTCASE_SLOW(endtoend, 15); /* waiting up to 15 seconds */ - DEFTESTCASE(large_data); - DEFTESTCASE(large_data_symmetric); - DEFTESTCASE_SLOW(increment_nonce, 20); - DEFTESTCASE(memzero); - - return s; -} int main(void) { setvbuf(stdout, nullptr, _IONBF, 0); - Suite *crypto = crypto_suite(); - SRunner *test_runner = srunner_create(crypto); - uint8_t number_failed = 0; - - srunner_run_all(test_runner, CK_NORMAL); - number_failed = srunner_ntests_failed(test_runner); - - srunner_free(test_runner); + test_known(); + test_fast_known(); + test_endtoend(); /* waiting up to 15 seconds */ + test_large_data(); + test_large_data_symmetric(); + test_increment_nonce(); + test_memzero(); - return number_failed; + return 0; } diff --git a/auto_tests/messenger_test.c b/auto_tests/messenger_test.c index db8de65a96..5a4c4995fc 100644 --- a/auto_tests/messenger_test.c +++ b/auto_tests/messenger_test.c @@ -38,7 +38,7 @@ static int friend_id_num = 0; static Messenger *m; -START_TEST(test_m_sendmesage) +static void test_m_sendmesage(void) { const char *message = "h-hi :3"; int good_len = strlen(message); @@ -54,9 +54,8 @@ START_TEST(test_m_sendmesage) ck_assert(m_send_message_generic( m, friend_id_num, MESSAGE_NORMAL, (const uint8_t *)message, bad_len, nullptr) == -2); } -END_TEST -START_TEST(test_m_get_userstatus_size) +static void test_m_get_userstatus_size(void) { int rc = 0; ck_assert_msg((m_get_statusmessage_size(m, -1) == -1), @@ -72,9 +71,8 @@ START_TEST(test_m_get_userstatus_size) "(this can be caused by the error of m_addfriend_norequest" " in the beginning of the suite)\n", rc); } -END_TEST -START_TEST(test_m_set_userstatus) +static void test_m_set_userstatus(void) { const char *status = "online!"; uint16_t good_length = strlen(status); @@ -88,9 +86,8 @@ START_TEST(test_m_set_userstatus) "m_set_userstatus did NOT return 0 on the following length: %d\n" "MAX_STATUSMESSAGE_LENGTH: %d\n", good_length, MAX_STATUSMESSAGE_LENGTH); } -END_TEST -START_TEST(test_m_get_friend_connectionstatus) +static void test_m_get_friend_connectionstatus(void) { ck_assert_msg((m_get_friend_connectionstatus(m, -1) == -1), "m_get_friend_connectionstatus did NOT catch an argument of -1.\n"); @@ -98,9 +95,8 @@ START_TEST(test_m_get_friend_connectionstatus) "m_get_friend_connectionstatus did NOT catch an argument of %d.\n", REALLY_BIG_NUMBER); } -END_TEST -START_TEST(test_m_friend_exists) +static void test_m_friend_exists(void) { ck_assert_msg((m_friend_exists(m, -1) == 0), "m_friend_exists did NOT catch an argument of -1.\n"); @@ -108,9 +104,8 @@ START_TEST(test_m_friend_exists) "m_friend_exists did NOT catch an argument of %d.\n", REALLY_BIG_NUMBER); } -END_TEST -START_TEST(test_m_delfriend) +static void test_m_delfriend(void) { ck_assert_msg((m_delfriend(m, -1) == -1), "m_delfriend did NOT catch an argument of -1\n"); @@ -118,9 +113,8 @@ START_TEST(test_m_delfriend) "m_delfriend did NOT catch the following number: %d\n", REALLY_BIG_NUMBER); } -END_TEST -START_TEST(test_m_addfriend) +static void test_m_addfriend(void) { const char *good_data = "test"; const char *bad_data = ""; @@ -154,9 +148,8 @@ START_TEST(test_m_addfriend) "m_addfriend without an error:\n'%s'\n", bad_id_str); } } -END_TEST -START_TEST(test_setname) +static void test_setname(void) { const char *good_name = "consensualCorn"; int good_length = strlen(good_name); @@ -168,9 +161,8 @@ START_TEST(test_setname) ck_assert_msg((setname(m, (const uint8_t *)good_name, good_length) == 0), "setname() did NOT return 0 on good arguments!\n"); } -END_TEST -START_TEST(test_getself_name) +static void test_getself_name(void) { const char *nickname = "testGallop"; size_t len = strlen(nickname); @@ -184,7 +176,6 @@ START_TEST(test_getself_name) "known name: %s\nreturned: %s\n", nickname, nick_check); free(nick_check); } -END_TEST /* this test is excluded for now, due to lack of a way * to set a friend's status for now. @@ -192,7 +183,7 @@ END_TEST * if we have access to the friends list, we could * just add a status manually ourselves. */ #if 0 -START_TEST(test_m_copy_userstatus) +static void test_m_copy_userstatus(void) { assert(m_copy_userstatus(-1, buf, MAX_USERSTATUS_LENGTH) == -1); assert(m_copy_userstatus(REALLY_BIG_NUMBER, buf, MAX_USERSTATUS_LENGTH) == -1); @@ -200,10 +191,9 @@ START_TEST(test_m_copy_userstatus) assert(strcmp(name_buf, friend_id_status) == 0); } -END_TEST #endif -START_TEST(test_getname) +static void test_getname(void) { uint8_t name_buf[MAX_NAME_LENGTH]; uint8_t test_name[] = {'f', 'o', 'o'}; @@ -217,9 +207,8 @@ START_TEST(test_getname) ck_assert(strcmp((char *)&name_buf[0], "foo") == 0); } -END_TEST -START_TEST(test_dht_state_saveloadsave) +static void test_dht_state_saveloadsave(void) { /* validate that: * a) saving stays within the confined space @@ -259,31 +248,26 @@ START_TEST(test_dht_state_saveloadsave) ck_assert_msg(!memcmp(buffer + extra, buffer2, size), "DHT state changed by store/load/store cycle"); } -END_TEST -static Suite *messenger_suite(void) +static void messenger_suite(void) { - Suite *s = suite_create("Messenger"); + test_dht_state_saveloadsave(); - DEFTESTCASE(dht_state_saveloadsave); - - DEFTESTCASE(getself_name); - DEFTESTCASE(m_get_userstatus_size); - DEFTESTCASE(m_set_userstatus); + test_getself_name(); + test_m_get_userstatus_size(); + test_m_set_userstatus(); if (enable_broken_tests) { - DEFTESTCASE(m_addfriend); + test_m_addfriend(); } - DEFTESTCASE(m_friend_exists); - DEFTESTCASE(m_get_friend_connectionstatus); - DEFTESTCASE(m_delfriend); - - DEFTESTCASE(setname); - DEFTESTCASE(getname); - DEFTESTCASE(m_sendmesage); + test_m_friend_exists(); + test_m_get_friend_connectionstatus(); + test_m_delfriend(); - return s; + test_setname(); + test_getname(); + test_m_sendmesage(); } int main(void) @@ -317,14 +301,8 @@ int main(void) "the tests will continue now...\n\n", stderr); } - Suite *messenger = messenger_suite(); - SRunner *test_runner = srunner_create(messenger); - int number_failed = 0; - - srunner_run_all(test_runner, CK_NORMAL); - number_failed = srunner_ntests_failed(test_runner); + messenger_suite(); - srunner_free(test_runner); free(friend_id); free(good_id); free(bad_id); @@ -332,5 +310,5 @@ int main(void) kill_messenger(m); mono_time_free(mono_time); - return number_failed; + return 0; } diff --git a/auto_tests/network_test.c b/auto_tests/network_test.c index d8df842228..05cf1c2a66 100644 --- a/auto_tests/network_test.c +++ b/auto_tests/network_test.c @@ -9,7 +9,7 @@ #define USE_IPV6 1 #endif -START_TEST(test_addr_resolv_localhost) +static void test_addr_resolv_localhost(void) { #ifdef __CYGWIN__ /* force initialization of network stack @@ -95,9 +95,8 @@ START_TEST(test_addr_resolv_localhost) ip_ntoa(&ip, ip_str, sizeof(ip_str))); #endif } -END_TEST -START_TEST(test_ip_equal) +static void test_ip_equal(void) { int res; IP ip1, ip2; @@ -159,32 +158,20 @@ START_TEST(test_ip_equal) res = ip_equal(&ip1, &ip2); ck_assert_msg(res == 0, "ip_equal( {TOX_AF_INET6, ::1}, {TOX_AF_INET6, ::2} ): expected result 0, got %d.", res); } -END_TEST -static Suite *network_suite(void) +static void network_suite(void) { - Suite *s = suite_create("Network"); - networking_at_startup(); - DEFTESTCASE(addr_resolv_localhost); - DEFTESTCASE(ip_equal); - - return s; + test_addr_resolv_localhost(); + test_ip_equal(); } int main(void) { setvbuf(stdout, nullptr, _IONBF, 0); - Suite *network = network_suite(); - SRunner *test_runner = srunner_create(network); - int number_failed = 0; - - srunner_run_all(test_runner, CK_NORMAL); - number_failed = srunner_ntests_failed(test_runner); - - srunner_free(test_runner); + network_suite(); - return number_failed; + return 0; } diff --git a/auto_tests/skeleton_test.c b/auto_tests/skeleton_test.c deleted file mode 100644 index 4404940a01..0000000000 --- a/auto_tests/skeleton_test.c +++ /dev/null @@ -1,40 +0,0 @@ -#include - -#include "../testing/misc_tools.h" -#include "check_compat.h" - -/* -#include "../" -*/ - -START_TEST(test_creativetestnamegoeshere) -{ - uint8_t test = 0; - ck_assert_msg(test == 0, "test: expected result 0, got %u.", test); -} -END_TEST - -static Suite *creativesuitenamegoeshere_suite(void) -{ - Suite *s = suite_create("creativesuitedescritptiongoeshere"); - - DEFTESTCASE(/* remove test_ from test function names */ creativetestnamegoeshere); - - return s; -} - -int main(void) -{ - setvbuf(stdout, nullptr, _IONBF, 0); - - Suite *creativesuitenamegoeshere = creativesuitenamegoeshere_suite(); - SRunner *test_runner = srunner_create(creativesuitenamegoeshere); - - int number_failed = 0; - srunner_run_all(test_runner, CK_NORMAL); - number_failed = srunner_ntests_failed(test_runner); - - srunner_free(test_runner); - - return number_failed; -} diff --git a/auto_tests/tox_many_tcp_test.c b/auto_tests/tox_many_tcp_test.c index 9275704182..058109f7f0 100644 --- a/auto_tests/tox_many_tcp_test.c +++ b/auto_tests/tox_many_tcp_test.c @@ -41,7 +41,7 @@ static void accept_friend_request(Tox *m, const uint8_t *public_key, const uint8 #endif #define TCP_RELAY_PORT 33448 -START_TEST(test_many_clients_tcp) +static void test_many_clients_tcp(void) { long long unsigned int cur_time = time(nullptr); Tox *toxes[NUM_TOXES_TCP]; @@ -131,11 +131,10 @@ START_TEST(test_many_clients_tcp) printf("test_many_clients_tcp succeeded, took %llu seconds\n", time(nullptr) - cur_time); } -END_TEST #define NUM_TCP_RELAYS 3 -START_TEST(test_many_clients_tcp_b) +static void test_many_clients_tcp_b(void) { long long unsigned int cur_time = time(nullptr); Tox *toxes[NUM_TOXES_TCP]; @@ -232,37 +231,23 @@ START_TEST(test_many_clients_tcp_b) printf("test_many_clients_tcp_b succeeded, took %llu seconds\n", time(nullptr) - cur_time); } -END_TEST -static Suite *tox_suite(void) +static void tox_suite(void) { - Suite *s = suite_create("Tox many tcp"); - /* Each tox connects to a single tox TCP */ - DEFTESTCASE(many_clients_tcp); + test_many_clients_tcp(); if (enable_broken_tests) { /* Try to make a connection to each "older sibling" tox instance via TCP */ /* Currently this test intermittently fails for unknown reasons. */ - DEFTESTCASE(many_clients_tcp_b); + test_many_clients_tcp_b(); } - - return s; } int main(void) { setvbuf(stdout, nullptr, _IONBF, 0); - - Suite *tox = tox_suite(); - SRunner *test_runner = srunner_create(tox); - - int number_failed = 0; - srunner_run_all(test_runner, CK_NORMAL); - number_failed = srunner_ntests_failed(test_runner); - - srunner_free(test_runner); - - return number_failed; + tox_suite(); + return 0; } diff --git a/auto_tests/tox_strncasecmp_test.c b/auto_tests/tox_strncasecmp_test.c index 1b29d4cbb0..6060c75c47 100644 --- a/auto_tests/tox_strncasecmp_test.c +++ b/auto_tests/tox_strncasecmp_test.c @@ -22,7 +22,7 @@ static void verify(const char *s1, const char *s2, size_t n, Comparison expected s1, s2, (unsigned)n, Comparison_Str[actual], Comparison_Str[expected]); } -START_TEST(test_general) +static void test_general(void) { // empty strings are equal verify("", "", 100, ZERO); @@ -156,29 +156,10 @@ START_TEST(test_general) verify("aAaBA", "AAAAb", -1, POSITIVE); verify("AAAAb", "aAaBA", -1, NEGATIVE); } -END_TEST - -static Suite *tox_strncasecmp_suite(void) -{ - Suite *s = suite_create("tox_strncasecmp"); - - DEFTESTCASE(general); - - return s; -} int main(void) { setvbuf(stdout, nullptr, _IONBF, 0); - - Suite *s = tox_strncasecmp_suite(); - SRunner *test_runner = srunner_create(s); - - int number_failed = 0; - srunner_run_all(test_runner, CK_NORMAL); - number_failed = srunner_ntests_failed(test_runner); - - srunner_free(test_runner); - - return number_failed; + test_general(); + return 0; }