diff options
author | zmiao <miao.zhao@mapbox.com> | 2019-10-08 15:26:45 +0300 |
---|---|---|
committer | zmiao <miao.zhao@mapbox.com> | 2019-10-15 11:17:25 +0300 |
commit | 7e98050562c34418ffb42ca86cd6bd02303fdde4 (patch) | |
tree | a1ae31c8000ab07ebf1eaed5e135b7fdde4c82a1 | |
parent | 465d4e8cfa612970dfe4dea0733e88698d7b7e57 (diff) | |
download | qtlocation-mapboxgl-7e98050562c34418ffb42ca86cd6bd02303fdde4.tar.gz |
[test-runner] change render-test cmake file
20 files changed, 145 insertions, 39 deletions
diff --git a/cmake/render-test.cmake b/cmake/render-test.cmake index 65240b54f3..1fa011d461 100644 --- a/cmake/render-test.cmake +++ b/cmake/render-test.cmake @@ -1,22 +1,17 @@ add_executable(mbgl-render-test - render-test/allocation_index.cpp - render-test/main.cpp - render-test/parser.cpp - render-test/runner.cpp + render-test/src/mbgl/allocation_index.cpp + render-test/src/mbgl/render_test_runner.cpp + render-test/src/mbgl/parser.cpp + render-test/src/mbgl/runner.cpp expression-test/test_runner_common.cpp expression-test/test_runner_common.hpp ) -if(APPLE) - target_link_libraries(mbgl-render-test PRIVATE mbgl-loop-darwin) -else() - target_link_libraries(mbgl-render-test PRIVATE mbgl-loop-uv) -endif() - target_include_directories(mbgl-render-test PRIVATE src PRIVATE platform/default/include - PRIVATE render-test + PRIVATE render-test/include + PRIVATE render-test/src ) target_link_libraries(mbgl-render-test PRIVATE @@ -29,4 +24,8 @@ target_link_libraries(mbgl-render-test PRIVATE Mapbox::Base::Extras::rapidjson ) +mbgl_platform_test() + +set_target_properties(mbgl-render-test PROPERTIES FOLDER "Executables") + add_definitions(-DTEST_RUNNER_ROOT_PATH="${CMAKE_SOURCE_DIR}") diff --git a/next/CMakeLists.txt b/next/CMakeLists.txt index df56f04b22..fb0779bea4 100644 --- a/next/CMakeLists.txt +++ b/next/CMakeLists.txt @@ -943,3 +943,4 @@ endif() add_subdirectory(${PROJECT_SOURCE_DIR}/test) add_subdirectory(${PROJECT_SOURCE_DIR}/benchmark) +add_subdirectory(${PROJECT_SOURCE_DIR}/render-test) diff --git a/next/platform/android/android.cmake b/next/platform/android/android.cmake index 1bde72d11d..6d0ed6fe97 100644 --- a/next/platform/android/android.cmake +++ b/next/platform/android/android.cmake @@ -295,12 +295,25 @@ target_link_libraries( PRIVATE Mapbox::Base::jni.hpp mapbox-gl mbgl-benchmark ) +add_executable( + mbgl-render-test-runner + ${MBGL_ROOT}/platform/android/src/test/render_test_runner.cpp + ${MBGL_ROOT}/platform/android/src/test/runtime.cpp + ${MBGL_ROOT}/platform/android/src/test/runtime.hpp +) + +target_link_libraries( + mbgl-render-test-runner + PRIVATE Mapbox::Base::jni.hpp mapbox-gl mbgl-render-test +) + # Android has no concept of MinSizeRel on android.toolchain.cmake and provides configurations tuned for binary size. We can push it a bit # more with code folding and LTO. set_target_properties(example-custom-layer PROPERTIES LINK_FLAGS_RELEASE "-fuse-ld=gold -O2 -flto -Wl,--icf=safe") set_target_properties(mapbox-gl PROPERTIES LINK_FLAGS_RELEASE "-fuse-ld=gold -O2 -flto -Wl,--icf=safe") set_target_properties(mbgl-benchmark-runner PROPERTIES LINK_FLAGS_RELEASE "-fuse-ld=gold -O2 -flto -Wl,--icf=safe") set_target_properties(mbgl-test-runner PROPERTIES LINK_FLAGS_RELEASE "-fuse-ld=gold -O2 -flto -Wl,--icf=safe") +set_target_properties(mbgl-render-test-runner PROPERTIES LINK_FLAGS_RELEASE "-fuse-ld=gold -O2 -flto -Wl,--icf=safe") target_compile_options(example-custom-layer PRIVATE $<$<CONFIG:Release>:-Qunused-arguments -flto>) target_compile_options(mapbox-gl PRIVATE $<$<CONFIG:Release>:-Qunused-arguments -flto>) diff --git a/next/platform/macos/macos.cmake b/next/platform/macos/macos.cmake index a0dcb9a829..37cc62c75a 100644 --- a/next/platform/macos/macos.cmake +++ b/next/platform/macos/macos.cmake @@ -155,7 +155,6 @@ add_subdirectory(${PROJECT_SOURCE_DIR}/bin) add_subdirectory(${PROJECT_SOURCE_DIR}/expression-test) add_subdirectory(${PROJECT_SOURCE_DIR}/platform/glfw) add_subdirectory(${PROJECT_SOURCE_DIR}/platform/node) -add_subdirectory(${PROJECT_SOURCE_DIR}/render-test) add_executable( mbgl-test-runner @@ -182,8 +181,31 @@ target_link_libraries( PRIVATE mbgl-benchmark ) +add_executable( + mbgl-render-test-runner + ${MBGL_ROOT}/platform/default/src/mbgl/render-test/main.cpp +) + +target_link_libraries( + mbgl-render-test-runner + PRIVATE mbgl-render-test +) + set_property(TARGET mbgl-benchmark-runner PROPERTY FOLDER Executables) set_property(TARGET mbgl-test-runner PROPERTY FOLDER Executables) +set_property(TARGET mbgl-render-test-runner PROPERTY FOLDER Executables) add_test(NAME mbgl-benchmark-runner COMMAND mbgl-benchmark-runner WORKING_DIRECTORY ${MBGL_ROOT}) add_test(NAME mbgl-test-runner COMMAND mbgl-test-runner WORKING_DIRECTORY ${MBGL_ROOT}) +add_test( + NAME mbgl-render-test-runner + COMMAND + mbgl-render-test-runner + render-tests + --recycle-map + --shuffle + --seed + ${MBGL_RENDER_TEST_SEED} + WORKING_DIRECTORY ${MBGL_ROOT} +) +add_test(NAME mbgl-query-test COMMAND mbgl-render-test query-tests WORKING_DIRECTORY ${MBGL_ROOT})
\ No newline at end of file diff --git a/next/render-test/CMakeLists.txt b/next/render-test/CMakeLists.txt index 1a4cd5ceb6..638eae603e 100644 --- a/next/render-test/CMakeLists.txt +++ b/next/render-test/CMakeLists.txt @@ -1,14 +1,18 @@ -add_executable( - mbgl-render-test - ${MBGL_ROOT}/render-test/allocation_index.cpp - ${MBGL_ROOT}/render-test/allocation_index.hpp + +add_library( + mbgl-render-test SHARED EXCLUDE_FROM_ALL ${MBGL_ROOT}/render-test/filesystem.hpp - ${MBGL_ROOT}/render-test/main.cpp - ${MBGL_ROOT}/render-test/metadata.hpp - ${MBGL_ROOT}/render-test/parser.cpp - ${MBGL_ROOT}/render-test/parser.hpp - ${MBGL_ROOT}/render-test/runner.cpp - ${MBGL_ROOT}/render-test/runner.hpp + ${MBGL_ROOT}/render-test/src/mbgl/render_test_runner.cpp + ${MBGL_ROOT}/render-test/src/test-runner/allocation_index.cpp + ${MBGL_ROOT}/render-test/src/test-runner/allocation_index.hpp + ${MBGL_ROOT}/render-test/src/test-runner/filesystem.hpp + ${MBGL_ROOT}/render-test/src/test-runner/metadata.hpp + ${MBGL_ROOT}/render-test/src/test-runner/parser.cpp + ${MBGL_ROOT}/render-test/src/test-runner/parser.hpp + ${MBGL_ROOT}/render-test/src/test-runner/runner.cpp + ${MBGL_ROOT}/render-test/src/test-runner/runner.hpp + ${MBGL_ROOT}/render-test/src/test-runner/test_runner.hpp + ${MBGL_ROOT}/render-test/src/test-runner/test_runner.cpp ${MBGL_ROOT}/expression-test/test_runner_common.cpp ${MBGL_ROOT}/expression-test/test_runner_common.hpp ) @@ -21,7 +25,16 @@ target_compile_definitions( # FIXME: Should not use core private interface target_include_directories( mbgl-render-test - PRIVATE ${MBGL_ROOT}/src + PRIVATE + ${MBGL_ROOT}/src + ${MBGL_ROOT}/platform/default/include + ${MBGL_ROOT}/platform/gfx/gl/src + ${MBGL_ROOT}/render-test/src +) + +target_include_directories( + mbgl-render-test + PUBLIC ${MBGL_ROOT}/render-test/include ${MBGL_ROOT}/include ) include(${PROJECT_SOURCE_DIR}/vendor/boost.cmake) @@ -36,20 +49,9 @@ target_link_libraries( mbgl-vendor-boost ) -set_property(TARGET mbgl-render-test PROPERTY FOLDER Executables) +if(CMAKE_SYSTEM_NAME STREQUAL Android) + set_target_properties(mbgl-render-test PROPERTIES LINK_FLAGS_RELEASE "-fuse-ld=gold -O2 -flto -Wl,--icf=safe") +endif() -string(RANDOM LENGTH 5 ALPHABET 0123456789 MBGL_RENDER_TEST_SEED) - -add_test( - NAME mbgl-render-test - COMMAND - mbgl-render-test - render-tests - --recycle-map - --shuffle - --seed=${MBGL_RENDER_TEST_SEED} - WORKING_DIRECTORY ${MBGL_ROOT} -) +set_property(TARGET mbgl-render-test PROPERTY FOLDER Core) -add_test(NAME mbgl-render-test-probes COMMAND mbgl-render-test tests --rootPath=render-test WORKING_DIRECTORY ${MBGL_ROOT}) -add_test(NAME mbgl-query-test COMMAND mbgl-render-test query-tests WORKING_DIRECTORY ${MBGL_ROOT}) diff --git a/platform/android/src/test/render_test_runner.cpp b/platform/android/src/test/render_test_runner.cpp new file mode 100644 index 0000000000..9818135f85 --- /dev/null +++ b/platform/android/src/test/render_test_runner.cpp @@ -0,0 +1,10 @@ +#include "runtime.hpp" +#include <mbgl/render_test_runner.hpp> + +int main(int argc, char *argv[]) { + if (!mbgl::android::initRuntime(argc, argv)) { + return 1; + } + + return mbgl::runRenderTests(argc, argv); +} diff --git a/platform/default/src/mbgl/render-test/main.cpp b/platform/default/src/mbgl/render-test/main.cpp new file mode 100644 index 0000000000..ecb7199652 --- /dev/null +++ b/platform/default/src/mbgl/render-test/main.cpp @@ -0,0 +1,7 @@ +#include <mbgl/render_test_runner.hpp> + +int main(int argc, char *argv[]) { + + return mbgl::runRenderTests(argc, argv); + +}
\ No newline at end of file diff --git a/platform/macos/config.cmake b/platform/macos/config.cmake index 28c3610634..5b01811234 100644 --- a/platform/macos/config.cmake +++ b/platform/macos/config.cmake @@ -101,6 +101,27 @@ macro(mbgl_platform_test) PRIVATE mbgl-filesource PRIVATE mbgl-loop-darwin ) + + target_sources(mbgl-test-render + PRIVATE platform/default/src/mbgl/layermanager/layer_manager.cpp + PRIVATE platform/default/src/mbgl/test/main.cpp + ) + + target_include_directories(mbgl-test + PRIVATE platform/macos + ) + + set_source_files_properties( + platform/default/src/mbgl/test/main.cpp + PROPERTIES + COMPILE_FLAGS -DWORK_DIRECTORY="${CMAKE_SOURCE_DIR}" + ) + + target_link_libraries(mbgl-test + PRIVATE mbgl-filesource + PRIVATE mbgl-loop-darwin + ) + endmacro() macro(mbgl_platform_benchmark) diff --git a/render-test/include/mbgl/render_test_runner.hpp b/render-test/include/mbgl/render_test_runner.hpp new file mode 100644 index 0000000000..42a539603d --- /dev/null +++ b/render-test/include/mbgl/render_test_runner.hpp @@ -0,0 +1,9 @@ +#pragma once + +#include <mbgl/util/util.hpp> + +namespace mbgl { + +MBGL_EXPORT int runRenderTests(int argc, char* argv[]); + +} // namespace mbgl diff --git a/render-test/src/mbgl/render_test_runner.cpp b/render-test/src/mbgl/render_test_runner.cpp new file mode 100644 index 0000000000..978c7866a0 --- /dev/null +++ b/render-test/src/mbgl/render_test_runner.cpp @@ -0,0 +1,10 @@ + +#include <mbgl/render_test_runner.hpp> +#include "test-runner/test_runner.hpp" + +namespace mbgl{ + +int runRenderTests(int argc, char* argv[]) { + runTests(argc, argv); +} +} // namespace mbgl diff --git a/render-test/allocation_index.cpp b/render-test/src/test-runner/allocation_index.cpp index 144c18ddd5..144c18ddd5 100644 --- a/render-test/allocation_index.cpp +++ b/render-test/src/test-runner/allocation_index.cpp diff --git a/render-test/allocation_index.hpp b/render-test/src/test-runner/allocation_index.hpp index 71da441c1f..71da441c1f 100644 --- a/render-test/allocation_index.hpp +++ b/render-test/src/test-runner/allocation_index.hpp diff --git a/render-test/filesystem.hpp b/render-test/src/test-runner/filesystem.hpp index cee7e9d911..cee7e9d911 100644 --- a/render-test/filesystem.hpp +++ b/render-test/src/test-runner/filesystem.hpp diff --git a/render-test/metadata.hpp b/render-test/src/test-runner/metadata.hpp index bd26e6a7ba..bd26e6a7ba 100644 --- a/render-test/metadata.hpp +++ b/render-test/src/test-runner/metadata.hpp diff --git a/render-test/parser.cpp b/render-test/src/test-runner/parser.cpp index f4e54493eb..f4e54493eb 100644 --- a/render-test/parser.cpp +++ b/render-test/src/test-runner/parser.cpp diff --git a/render-test/parser.hpp b/render-test/src/test-runner/parser.hpp index 3c857b7e1e..3c857b7e1e 100644 --- a/render-test/parser.hpp +++ b/render-test/src/test-runner/parser.hpp diff --git a/render-test/runner.cpp b/render-test/src/test-runner/runner.cpp index 3594c9488b..3594c9488b 100644 --- a/render-test/runner.cpp +++ b/render-test/src/test-runner/runner.cpp diff --git a/render-test/runner.hpp b/render-test/src/test-runner/runner.hpp index d8e5275f61..d8e5275f61 100644 --- a/render-test/runner.hpp +++ b/render-test/src/test-runner/runner.hpp diff --git a/render-test/main.cpp b/render-test/src/test-runner/test_runner.cpp index 6f5e2449a9..b441fcfaa0 100644 --- a/render-test/main.cpp +++ b/render-test/src/test-runner/test_runner.cpp @@ -3,6 +3,7 @@ #include <mbgl/util/run_loop.hpp> #include <mbgl/util/io.hpp> +#include "test_runner.hpp" #include "metadata.hpp" #include "parser.hpp" #include "runner.hpp" @@ -36,7 +37,9 @@ void operator delete(void* ptr, size_t) noexcept { } #endif -int main(int argc, char** argv) { +namespace mbgl{ + +int runTests(int argc, char* argv[]) { bool recycleMap; bool shuffle; uint32_t seed; @@ -160,3 +163,5 @@ int main(int argc, char** argv) { return stats.failedTests + stats.erroredTests == 0 ? 0 : 1; } + +} // namespace mbgl diff --git a/render-test/src/test-runner/test_runner.hpp b/render-test/src/test-runner/test_runner.hpp new file mode 100644 index 0000000000..33a77e2cb8 --- /dev/null +++ b/render-test/src/test-runner/test_runner.hpp @@ -0,0 +1,7 @@ +#pragma once + +#include <mbgl/render_test_runner.hpp> + +namespace mbgl { +int runTests(int argc, char* argv[]); +}
\ No newline at end of file |