forked from Green-Sky/tomato
Green Sky
b2ae9530a4
f1df709b87 feat: add ngc events 1b6c907235 refactor: Make event dispatch ordered by receive time. b7f9367f6f test: Upgrade cppcheck, fix some warnings. 766e62bc89 chore: Use `pkg_search_module` directly in cmake. 00ff078f91 cleanup: Use target_link_libraries directly in cmake. c58928cc89 chore: Add `IMPORTED_TARGET` to pkg-config packages. 895a6af122 cleanup: Remove NaCl support. 41dfb1c1c0 fix: unpack enum function names in event impl generator 447666d1a1 chore: Disable targets for cross-compilation. 572924e924 chore: Build a docker image with coverage info in it. 415cb78f5e cleanup: Some portability/warning fixes for Windows builds. 425216d9ec fix: Correct a use-after-free and fix some memory leaks. 4b1cfa3e08 refactor: Change all enum-like `#define` sequences into enums. d3c2704fa9 chore: Fix make_single_file to support core-only. 0ce46b644e refactor: Change the `TCP_PACKET_*` defines into an enum. 22cd38ad50 adopt event impl generation tool to #2392 f31ea1088a add the event impl generation tool 4e603bb613 refactor: Use `enum-from-int` rule from tokstyle. 19d8f180d6 chore: Update github actions `uses`. 6a895be0c7 test: Make esp32 build actually try to instantiate tox. 65d09c9bfb cleanup: Remove test net support. REVERT: e29e185c03 feat: add ngc events git-subtree-dir: external/toxcore/c-toxcore git-subtree-split: f1df709b8792da4c0e946d826b11df77d565064d
106 lines
3.3 KiB
CMake
106 lines
3.3 KiB
CMake
set(TEST_TIMEOUT_SECONDS "" CACHE STRING "Limit runtime of each test to the number of seconds specified")
|
|
|
|
add_library(auto_test_support
|
|
auto_test_support.c
|
|
auto_test_support.h)
|
|
target_link_libraries(auto_test_support PRIVATE misc_tools)
|
|
if(TARGET toxcore_static)
|
|
target_link_libraries(auto_test_support PRIVATE toxcore_static)
|
|
else()
|
|
target_link_libraries(auto_test_support PRIVATE toxcore_shared)
|
|
endif()
|
|
|
|
function(auto_test target)
|
|
add_executable(auto_${target}_test ${target}_test.c)
|
|
target_link_libraries(auto_${target}_test PRIVATE misc_tools auto_test_support)
|
|
if(TARGET toxcore_static)
|
|
target_link_libraries(auto_${target}_test PRIVATE toxcore_static)
|
|
else()
|
|
target_link_libraries(auto_${target}_test PRIVATE toxcore_shared)
|
|
endif()
|
|
if(NOT ARGV1 STREQUAL "DONT_RUN")
|
|
add_test(NAME ${target} COMMAND ${CROSSCOMPILING_EMULATOR} auto_${target}_test)
|
|
set_tests_properties(${target} PROPERTIES TIMEOUT "${TEST_TIMEOUT_SECONDS}")
|
|
# add the source dir as environment variable, so the testdata can be found
|
|
set_tests_properties(${target} PROPERTIES ENVIRONMENT "LLVM_PROFILE_FILE=${target}.profraw;srcdir=${CMAKE_CURRENT_SOURCE_DIR}")
|
|
endif()
|
|
endfunction()
|
|
|
|
auto_test(TCP)
|
|
auto_test(announce)
|
|
auto_test(conference)
|
|
auto_test(conference_double_invite)
|
|
auto_test(conference_invite_merge)
|
|
auto_test(conference_peer_nick)
|
|
auto_test(conference_simple)
|
|
auto_test(conference_two)
|
|
auto_test(crypto)
|
|
#auto_test(dht) # Doesn't work with UNITY_BUILD.
|
|
auto_test(dht_getnodes_api)
|
|
auto_test(encryptsave)
|
|
auto_test(file_transfer)
|
|
auto_test(file_saving)
|
|
auto_test(forwarding)
|
|
auto_test(friend_connection)
|
|
auto_test(friend_request)
|
|
auto_test(friend_request_spam)
|
|
auto_test(group_general)
|
|
auto_test(group_invite)
|
|
auto_test(group_message)
|
|
auto_test(group_moderation)
|
|
auto_test(group_save)
|
|
auto_test(group_state)
|
|
auto_test(group_sync)
|
|
auto_test(group_tcp)
|
|
auto_test(group_topic)
|
|
auto_test(invalid_tcp_proxy)
|
|
auto_test(invalid_udp_proxy)
|
|
auto_test(lan_discovery)
|
|
auto_test(lossless_packet)
|
|
auto_test(lossy_packet)
|
|
auto_test(network)
|
|
auto_test(onion)
|
|
auto_test(overflow_recvq)
|
|
auto_test(overflow_sendq)
|
|
auto_test(reconnect)
|
|
auto_test(save_friend)
|
|
auto_test(save_load)
|
|
auto_test(send_message)
|
|
auto_test(set_name)
|
|
auto_test(set_status_message)
|
|
auto_test(tox_dispatch)
|
|
auto_test(tox_events)
|
|
auto_test(tox_many)
|
|
auto_test(tox_many_tcp)
|
|
auto_test(tox_strncasecmp)
|
|
auto_test(typing)
|
|
auto_test(version)
|
|
auto_test(save_compatibility)
|
|
|
|
target_include_directories(auto_encryptsave_test SYSTEM PRIVATE ${LIBSODIUM_INCLUDE_DIRS})
|
|
|
|
if(NON_HERMETIC_TESTS)
|
|
auto_test(bootstrap)
|
|
auto_test(tcp_relay)
|
|
endif()
|
|
|
|
if(BUILD_TOXAV)
|
|
auto_test(conference_av)
|
|
auto_test(toxav_basic)
|
|
auto_test(toxav_many)
|
|
|
|
target_link_libraries(auto_toxav_basic_test PRIVATE ${VPX_LIBRARIES})
|
|
target_link_directories(auto_toxav_basic_test PRIVATE ${VPX_LIBRARY_DIRS})
|
|
target_include_directories(auto_toxav_basic_test SYSTEM PRIVATE ${VPX_INCLUDE_DIRS})
|
|
target_compile_options(auto_toxav_basic_test PRIVATE ${VPX_CFLAGS_OTHER})
|
|
|
|
target_link_libraries(auto_toxav_many_test PRIVATE ${VPX_LIBRARIES})
|
|
target_link_directories(auto_toxav_many_test PRIVATE ${VPX_LIBRARY_DIRS})
|
|
target_include_directories(auto_toxav_many_test SYSTEM PRIVATE ${VPX_INCLUDE_DIRS})
|
|
target_compile_options(auto_toxav_many_test PRIVATE ${VPX_CFLAGS_OTHER})
|
|
endif()
|
|
|
|
if(PROXY_TEST)
|
|
auto_test(proxy)
|
|
endif()
|