diff options
author | zmiao <miao.zhao@mapbox.com> | 2019-10-08 15:26:45 +0300 |
---|---|---|
committer | zmiao <miao.zhao@mapbox.com> | 2019-10-08 15:26:45 +0300 |
commit | 6eec6232481d507da01686a31ff7ae9c4479d767 (patch) | |
tree | 29e798b8df3bf5b5a84b4817fe1e719109487890 | |
parent | bd283fc1be2f90ce02b37617411a0ce4246d898e (diff) | |
download | qtlocation-mapboxgl-6eec6232481d507da01686a31ff7ae9c4479d767.tar.gz |
render test
20 files changed, 158 insertions, 37 deletions
diff --git a/cmake/render-test.cmake b/cmake/render-test.cmake index 7369655630..816297c1b4 100644 --- a/cmake/render-test.cmake +++ b/cmake/render-test.cmake @@ -1,20 +1,21 @@ 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 ) -if(APPLE) - target_link_libraries(mbgl-render-test PRIVATE mbgl-loop-darwin) -else() - target_link_libraries(mbgl-render-test PRIVATE mbgl-loop-uv) -endif() +#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 @@ -27,4 +28,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 6edd11ca95..1458fd9645 100644 --- a/next/render-test/CMakeLists.txt +++ b/next/render-test/CMakeLists.txt @@ -1,14 +1,16 @@ -add_executable( - mbgl-render-test - ${MBGL_ROOT}/render-test/allocation_index.cpp - ${MBGL_ROOT}/render-test/allocation_index.hpp - ${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 +add_library( + mbgl-render-test SHARED EXCLUDE_FROM_ALL + ${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 ) target_compile_definitions( @@ -19,7 +21,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) @@ -34,20 +45,20 @@ target_link_libraries( mbgl-vendor-boost ) -set_property(TARGET mbgl-render-test PROPERTY FOLDER Executables) +set_property(TARGET mbgl-render-test PROPERTY FOLDER Core) 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} -) +# add_test( +# NAME mbgl-render-test +# COMMAND +# mbgl-render-test +# 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}) +# 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 d25b81c7ab..d25b81c7ab 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 802c3c7f55..802c3c7f55 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 afa281ad30..afa281ad30 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 868e1a9a32..868e1a9a32 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 |