diff options
Diffstat (limited to 'indra/test')
| -rw-r--r-- | indra/test/CMakeLists.txt | 75 | ||||
| -rw-r--r-- | indra/test/lltut.h | 4 | ||||
| -rw-r--r-- | indra/test/test.cpp | 7 |
3 files changed, 58 insertions, 28 deletions
diff --git a/indra/test/CMakeLists.txt b/indra/test/CMakeLists.txt index f80286a630..a3cf762f90 100644 --- a/indra/test/CMakeLists.txt +++ b/indra/test/CMakeLists.txt @@ -10,6 +10,27 @@ include(Tut) include(LLAddBuildTest) include(bugsplat) +set(test_lib_SOURCE_FILES + lltut.cpp + test.cpp + ) + +set(test_lib_HEADER_FILES + CMakeLists.txt + lltut.h + ) + +list(APPEND test_lib_SOURCE_FILES ${test_lib_HEADER_FILES}) + +add_library(lltut_runner_lib ${test_lib_SOURCE_FILES}) + +target_link_libraries(lltut_runner_lib PRIVATE llcommon) + +set_target_properties(lltut_runner_lib + PROPERTIES + FOLDER "Tests" + ) + set(test_SOURCE_FILES io.cpp llapp_tut.cpp @@ -31,9 +52,7 @@ set(test_SOURCE_FILES llservicebuilder_tut.cpp llstreamtools_tut.cpp lltemplatemessagebuilder_tut.cpp - lltut.cpp message_tut.cpp - test.cpp ) set(test_HEADER_FILES @@ -57,6 +76,7 @@ list(APPEND test_SOURCE_FILES ${test_HEADER_FILES}) add_executable(lltest ${test_SOURCE_FILES}) target_link_libraries(lltest + lltut_runner_lib llinventory llmessage llmath @@ -66,14 +86,27 @@ target_link_libraries(lltest llcorehttp ) +set_target_properties(lltest + PROPERTIES + FOLDER "Tests" + ) + if (WINDOWS) set_target_properties(lltest - PROPERTIES + PROPERTIES LINK_FLAGS "/NODEFAULTLIB:LIBCMT" LINK_FLAGS_DEBUG "/NODEFAULTLIB:\"LIBCMT;LIBCMTD;MSVCRT\"" RUNTIME_OUTPUT_DIRECTORY "${EXE_STAGING_DIR}" ) elseif (DARWIN) + set_target_properties(lltut_runner_lib + PROPERTIES + OSX_ARCHITECTURES ${LL_MACOS_TEST_ARCHITECTURE} + ) + set_target_properties(lltest + PROPERTIES + OSX_ARCHITECTURES ${LL_MACOS_TEST_ARCHITECTURE} + ) # Support our "@executable_path/../Resources" load path for our test # executable. This SHOULD properly be "$<TARGET_FILE_DIR:lltest>/Resources", # but the CMake $<TARGET_FILE_DIR> generator expression isn't evaluated by @@ -82,32 +115,24 @@ elseif (DARWIN) SYMBOLIC) endif (WINDOWS) -set(TEST_EXE $<TARGET_FILE:lltest>) - -SET_TEST_PATH(LD_LIBRARY_PATH) +# This should cause the test executable to be built, but not +# run if LL_TESTS is disabled. This will hopefully keep the +# tests up to date with any code changes changes even if +# developers choose to disable LL_TESTS. +if (LL_TESTS) + set(TEST_EXE $<TARGET_FILE:lltest>) -LL_TEST_COMMAND(command - "${LD_LIBRARY_PATH}" - "${TEST_EXE}" - "--output=${CMAKE_CURRENT_BINARY_DIR}/cpp_test_results.txt" - "--touch=${CMAKE_CURRENT_BINARY_DIR}/cpp_tests_ok.txt") + SET_TEST_PATH(LD_LIBRARY_PATH) -ADD_CUSTOM_COMMAND( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/cpp_tests_ok.txt - COMMAND ${command} - DEPENDS lltest - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - COMMENT "C++ unit tests" - ) + LL_TEST_COMMAND(command + "${LD_LIBRARY_PATH}" + "${TEST_EXE}" + "--output=${CMAKE_CURRENT_BINARY_DIR}/cpp_test_results.txt" + "--touch=${CMAKE_CURRENT_BINARY_DIR}/cpp_tests_ok.txt") -set(test_results ${CMAKE_CURRENT_BINARY_DIR}/cpp_tests_ok.txt) + add_test(NAME "C++ unit tests" COMMAND ${command} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) -# This should cause the test executable to be built, but not -# run if LL_TESTS is disabled. This will hopefully keep the -# tests up to date with any code changes changes even if -# developers choose to disable LL_TESTS. -if (LL_TESTS) - add_custom_target(tests_ok ALL DEPENDS ${test_results}) + add_dependencies(BUILD_TESTS lltest) if(DARWIN) # Support our "@executable_path/../Resources" load path for our test # executable. This SHOULD properly be "$<TARGET_FILE_DIR:lltest>/Resources", diff --git a/indra/test/lltut.h b/indra/test/lltut.h index 581a08654d..fdc1cd7dfe 100644 --- a/indra/test/lltut.h +++ b/indra/test/lltut.h @@ -75,12 +75,12 @@ namespace tut // overloads declared above. // turn off warnings about unused functions from clang for tut package -#if __clang__ +#if LL_CLANG #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wunused-function" #endif #include <tut/tut.hpp> -#if __clang__ +#if LL_CLANG #pragma clang diagnostic pop #endif diff --git a/indra/test/test.cpp b/indra/test/test.cpp index 172b6e3542..bf685ef20f 100644 --- a/indra/test/test.cpp +++ b/indra/test/test.cpp @@ -108,7 +108,7 @@ public: void replay(std::ostream& out) { mFile.close(); - std::ifstream inf(mTempFile.getName().c_str()); + llifstream inf(mTempFile.getName().c_str()); std::string line; while (std::getline(inf, line)) { @@ -505,6 +505,11 @@ static LLTrace::ThreadRecorder* sMasterThreadRecorder = NULL; int main(int argc, char **argv) { + // Call Tracy first thing to have it allocate memory + // https://github.com/wolfpld/tracy/issues/196 + LL_PROFILER_FRAME_END; + LL_PROFILER_SET_THREAD_NAME("App"); + ll_init_apr(); apr_getopt_t* os = NULL; if(APR_SUCCESS != apr_getopt_init(&os, gAPRPoolp, argc, argv)) |
