summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzmiao <miao.zhao@mapbox.com>2019-10-08 15:26:45 +0300
committerzmiao <miao.zhao@mapbox.com>2019-10-15 11:17:25 +0300
commit7e98050562c34418ffb42ca86cd6bd02303fdde4 (patch)
treea1ae31c8000ab07ebf1eaed5e135b7fdde4c82a1
parent465d4e8cfa612970dfe4dea0733e88698d7b7e57 (diff)
downloadqtlocation-mapboxgl-7e98050562c34418ffb42ca86cd6bd02303fdde4.tar.gz
[test-runner] change render-test cmake file
-rw-r--r--cmake/render-test.cmake21
-rw-r--r--next/CMakeLists.txt1
-rw-r--r--next/platform/android/android.cmake13
-rw-r--r--next/platform/macos/macos.cmake24
-rw-r--r--next/render-test/CMakeLists.txt54
-rw-r--r--platform/android/src/test/render_test_runner.cpp10
-rw-r--r--platform/default/src/mbgl/render-test/main.cpp7
-rw-r--r--platform/macos/config.cmake21
-rw-r--r--render-test/include/mbgl/render_test_runner.hpp9
-rw-r--r--render-test/src/mbgl/render_test_runner.cpp10
-rw-r--r--render-test/src/test-runner/allocation_index.cpp (renamed from render-test/allocation_index.cpp)0
-rw-r--r--render-test/src/test-runner/allocation_index.hpp (renamed from render-test/allocation_index.hpp)0
-rw-r--r--render-test/src/test-runner/filesystem.hpp (renamed from render-test/filesystem.hpp)0
-rw-r--r--render-test/src/test-runner/metadata.hpp (renamed from render-test/metadata.hpp)0
-rw-r--r--render-test/src/test-runner/parser.cpp (renamed from render-test/parser.cpp)0
-rw-r--r--render-test/src/test-runner/parser.hpp (renamed from render-test/parser.hpp)0
-rw-r--r--render-test/src/test-runner/runner.cpp (renamed from render-test/runner.cpp)0
-rw-r--r--render-test/src/test-runner/runner.hpp (renamed from render-test/runner.hpp)0
-rw-r--r--render-test/src/test-runner/test_runner.cpp (renamed from render-test/main.cpp)7
-rw-r--r--render-test/src/test-runner/test_runner.hpp7
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