diff options
author | zmiao <miao.zhao@mapbox.com> | 2019-10-17 16:07:31 +0300 |
---|---|---|
committer | zmiao <miao.zhao@mapbox.com> | 2019-10-17 16:25:21 +0300 |
commit | c2e3073860a1a22c7814a589053ac97447dea69d (patch) | |
tree | 5bd117ab81ab0c28c1e1bc96687c35c16ebaa465 | |
parent | 3af549ea885e321088875d3e7473806abe1ebe1c (diff) | |
download | qtlocation-mapboxgl-upstream/zmiao-render-test-lib.tar.gz |
add new filesupstream/zmiao-render-test-lib
-rw-r--r-- | next/platform/android/android.cmake | 18 | ||||
-rw-r--r-- | platform/android/src/test/render_test_runner.cpp | 105 | ||||
-rwxr-xr-x | render-test/android-test-runner/render_test_setup.sh | 20 | ||||
-rw-r--r-- | render-test/parser.cpp | 5 | ||||
-rw-r--r-- | render-test/render_test_collator.cpp | 40 | ||||
-rw-r--r-- | render-test/render_test_number_format.cpp | 15 |
6 files changed, 119 insertions, 84 deletions
diff --git a/next/platform/android/android.cmake b/next/platform/android/android.cmake index 15f9e9220b..d7f3ee9900 100644 --- a/next/platform/android/android.cmake +++ b/next/platform/android/android.cmake @@ -83,10 +83,6 @@ target_sources( ${MBGL_ROOT}/platform/android/src/gson/json_primitive.cpp ${MBGL_ROOT}/platform/android/src/gson/json_primitive.hpp ${MBGL_ROOT}/platform/android/src/http_file_source.cpp - ${MBGL_ROOT}/platform/android/src/i18n/collator.cpp - ${MBGL_ROOT}/platform/android/src/i18n/collator_jni.hpp - ${MBGL_ROOT}/platform/android/src/i18n/number_format.cpp - ${MBGL_ROOT}/platform/android/src/i18n/number_format_jni.hpp ${MBGL_ROOT}/platform/android/src/image.cpp ${MBGL_ROOT}/platform/android/src/java/util.cpp ${MBGL_ROOT}/platform/android/src/java/util.hpp @@ -190,12 +186,10 @@ target_sources( ${MBGL_ROOT}/platform/android/src/style/value.hpp ${MBGL_ROOT}/platform/android/src/thread.cpp ${MBGL_ROOT}/platform/android/src/timer.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/text/local_glyph_rasterizer.cpp ${MBGL_ROOT}/platform/default/src/mbgl/gfx/headless_backend.cpp ${MBGL_ROOT}/platform/default/src/mbgl/gfx/headless_frontend.cpp ${MBGL_ROOT}/platform/default/src/mbgl/gl/headless_backend.cpp ${MBGL_ROOT}/platform/default/src/mbgl/map/map_snapshotter.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/file_source.cpp ${MBGL_ROOT}/platform/default/src/mbgl/storage/asset_file_source.cpp ${MBGL_ROOT}/platform/default/src/mbgl/storage/default_file_source.cpp ${MBGL_ROOT}/platform/default/src/mbgl/storage/file_source_request.cpp @@ -212,6 +206,11 @@ target_sources( ${MBGL_ROOT}/platform/default/src/mbgl/util/thread_local.cpp ${MBGL_ROOT}/platform/default/src/mbgl/util/utf.cpp ${MBGL_ROOT}/platform/linux/src/headless_backend_egl.cpp + # These files are added temporarily for enabling running mbgl-render-test-runner on android + ${MBGL_ROOT}/render-test/render_test_collator.cpp + ${MBGL_ROOT}/render-test/render_test_number_format.cpp + ${MBGL_ROOT}/platform/default/src/mbgl/text/local_glyph_rasterizer.cpp + ${MBGL_ROOT}/platform/default/src/mbgl/storage/file_source.cpp ) target_include_directories( @@ -239,6 +238,8 @@ target_link_libraries( add_library( mapbox-gl SHARED + ${MBGL_ROOT}/platform/android/src/main.cpp + # These files are added temporarily for enabling running mbgl-render-test-runner on android ${MBGL_ROOT}/platform/android/src/logger.cpp ${MBGL_ROOT}/platform/android/src/logger.hpp ${MBGL_ROOT}/platform/android/src/logging_android.cpp @@ -246,7 +247,10 @@ add_library( ${MBGL_ROOT}/platform/android/src/text/local_glyph_rasterizer_jni.hpp ${MBGL_ROOT}/platform/android/src/file_source.cpp ${MBGL_ROOT}/platform/android/src/file_source.hpp - ${MBGL_ROOT}/platform/android/src/main.cpp + ${MBGL_ROOT}/platform/android/src/i18n/collator.cpp + ${MBGL_ROOT}/platform/android/src/i18n/collator_jni.hpp + ${MBGL_ROOT}/platform/android/src/i18n/number_format.cpp + ${MBGL_ROOT}/platform/android/src/i18n/number_format_jni.hpp ) target_link_libraries( diff --git a/platform/android/src/test/render_test_runner.cpp b/platform/android/src/test/render_test_runner.cpp index c1ffbc81bf..f132b6b948 100644 --- a/platform/android/src/test/render_test_runner.cpp +++ b/platform/android/src/test/render_test_runner.cpp @@ -1,8 +1,8 @@ +#include <android_native_app_glue.h> +#include <mbgl/render_test.hpp> #include "jni.hpp" #include "logger.hpp" -#include <mbgl/render_test.hpp> -#include <android_native_app_glue.h> #include <string> #include <vector> @@ -11,94 +11,49 @@ #include <android/log.h> - -// Find a class, attempting to load the class if it's not found. -jclass LoadClass(JNIEnv* env, jobject activity_object, const char* class_name) { - jclass class_object = env->FindClass(class_name); - if (env->ExceptionCheck()) { - env->ExceptionClear(); - // If the class isn't found it's possible NativeActivity is being used by - // the application which means the class path is set to only load system - // classes. The following falls back to loading the class using the - // Activity before retrieving a reference to it. -// jclass activity_class = env->FindClass("android/app/NativeActivity"); - jclass activity_class = env->GetObjectClass(activity_object); - jmethodID activity_get_class_loader = env->GetMethodID( - activity_class, "getClassLoader", "()Ljava/lang/ClassLoader;"); - - jobject class_loader_object = - env->CallObjectMethod(activity_object, activity_get_class_loader); - - jclass class_loader_class = env->FindClass("java/lang/ClassLoader"); - jmethodID class_loader_load_class = - env->GetMethodID(class_loader_class, "loadClass", - "(Ljava/lang/String;)Ljava/lang/Class;"); - jstring class_name_object = env->NewStringUTF(class_name); - - class_object = static_cast<jclass>(env->CallObjectMethod( - class_loader_object, class_loader_load_class, class_name_object)); - - if (env->ExceptionCheck()) { - env->ExceptionClear(); - class_object = nullptr; - } - env->DeleteLocalRef(class_name_object); - env->DeleteLocalRef(class_loader_object); - } -// return class_object; -} - - - - namespace mbgl { - namespace { - - int severityToPriority(EventSeverity severity) { - switch(severity) { - case EventSeverity::Debug: - return ANDROID_LOG_DEBUG; - - case EventSeverity::Info: - return ANDROID_LOG_INFO; - - case EventSeverity::Warning: - return ANDROID_LOG_WARN; +namespace { - case EventSeverity::Error: - return ANDROID_LOG_ERROR; +int severityToPriority(EventSeverity severity) { + switch (severity) { + case EventSeverity::Debug: + return ANDROID_LOG_DEBUG; - default: - return ANDROID_LOG_VERBOSE; - } - } + case EventSeverity::Info: + return ANDROID_LOG_INFO; - } // namespace + case EventSeverity::Warning: + return ANDROID_LOG_WARN; - void Log::platformRecord(EventSeverity severity, const std::string &msg) { - __android_log_print(severityToPriority(severity), "mbgl", "%s", msg.c_str()); + case EventSeverity::Error: + return ANDROID_LOG_ERROR; + default: + return ANDROID_LOG_VERBOSE; } +} + +} // namespace +void Log::platformRecord(EventSeverity severity, const std::string& msg) { + __android_log_print(severityToPriority(severity), "mbgl", "%s", msg.c_str()); } +} // namespace mbgl void android_main(struct android_app* app) { using FindClassFN = jclass (*)(JNIEnv*, const char*); - mbgl::android::theJVM= app->activity->vm; + mbgl::android::theJVM = app->activity->vm; JNIEnv* env; app->activity->vm->AttachCurrentThread(&env, NULL); - // Logger - -// LoadClass(env, app->activity->clazz, mbgl::android::Logger::Name()); -// mbgl::android::Logger::registerNative(*env); - std::vector<std::string> arguments = {"runner","-p", "/sdcard/render-test"}; - std::vector<char*> argv; - for (const auto& arg : arguments) { - argv.push_back((char*) arg.data()); - } - argv.push_back(nullptr); - mbgl::runRenderTests(argv.size() - 1, argv.data()); + + std::vector<std::string> arguments = {"mbgl-render-test-runner", "-p", "/sdcard/render-test"}; + std::vector<char*> argv; + for (const auto& arg : arguments) { + argv.push_back((char*)arg.data()); + } + argv.push_back(nullptr); + (void)mbgl::runRenderTests(argv.size() - 1, argv.data()); app->activity->vm->DetachCurrentThread(); }
\ No newline at end of file diff --git a/render-test/android-test-runner/render_test_setup.sh b/render-test/android-test-runner/render_test_setup.sh new file mode 100755 index 0000000000..65d0788474 --- /dev/null +++ b/render-test/android-test-runner/render_test_setup.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +adb shell rm -rf /sdcard/render-test +adb shell mkdir /sdcard/render-test + +adb push mapbox-gl-js/test/integration/render-tests /sdcard/render-test/mapbox-gl-js/test/integration/render-tests +# adb push mapbox-gl-js/test/integration/query-tests /sdcard/render-test/mapbox-gl-js/test/integration/query-tests +adb push mapbox-gl-js/test/integration/tiles /sdcard/render-test/mapbox-gl-js/test/integration/tiles +adb push mapbox-gl-js/test/integration/glyphs /sdcard/render-test/mapbox-gl-js/test/integration/glyphs +adb push mapbox-gl-js/test/integration/sprites /sdcard/render-test/mapbox-gl-js/test/integration/sprites +adb push mapbox-gl-js/test/integration/styles /sdcard/render-test/mapbox-gl-js/test/integration/styles +adb push mapbox-gl-js/test/integration/tilesets /sdcard/render-test/mapbox-gl-js/test/integration/tilesets +adb push mapbox-gl-js/test/integration/image /sdcard/render-test/mapbox-gl-js/test/integration/image +adb push mapbox-gl-js/test/integration/video /sdcard/render-test/mapbox-gl-js/test/integration/video +adb push vendor/mapbox-gl-styles/styles /sdcard/render-test/mapbox-gl-js/test/integration/mapbox-gl-styles/styles +adb push mapbox-gl-js/test/integration/data /sdcard/render-test/mapbox-gl-js/test/integration/data +adb push mapbox-gl-js/test/integration/geojson /sdcard/render-test/mapbox-gl-js/test/integration/geojson +adb push render-test/expected /sdcard/render-test/render-test/expected + +adb shell ls /sdcard/render-test/mapbox-gl-js/test/integration
\ No newline at end of file diff --git a/render-test/parser.cpp b/render-test/parser.cpp index c9343fdd26..e1540ea664 100644 --- a/render-test/parser.cpp +++ b/render-test/parser.cpp @@ -112,7 +112,8 @@ mbgl::optional<std::string> getVendorPath(const std::string& url, const std::reg } mbgl::optional<std::string> getIntegrationPath(const std::string& url, const std::string& parent, const std::regex& regex, bool glyphsPath = false) { - static const mbgl::filesystem::path integrationPath(std::string("/sdcard/render-test") + "/mapbox-gl-js/test/integration/"); + static const mbgl::filesystem::path integrationPath(std::string("/sdcard/render-test") + + "/mapbox-gl-js/test/integration/"); mbgl::filesystem::path file = std::regex_replace(url, regex, integrationPath.string() + parent); if (mbgl::filesystem::exists(file.parent_path())) { @@ -703,7 +704,7 @@ std::string createResultItem(const TestMetadata& metadata, bool hasFailedTests) html.append(" src=\"data:image/png;base64," + encodeBase64(metadata.actual) + "\">\n"); } } else { -// assert(!metadata.errorMessage.empty()); + // assert(!metadata.errorMessage.empty()); html.append("<p style=\"color: red\"><strong>Error:</strong> " + metadata.errorMessage + "</p>\n"); } if (metadata.difference != 0.0) { diff --git a/render-test/render_test_collator.cpp b/render-test/render_test_collator.cpp new file mode 100644 index 0000000000..e6e3b27b48 --- /dev/null +++ b/render-test/render_test_collator.cpp @@ -0,0 +1,40 @@ +#include <mbgl/i18n/collator.hpp> + +#include <memory> + +namespace mbgl { +namespace platform { + +class Collator::Impl { +public: + Impl(bool caseSensitive_, bool diacriticSensitive_, optional<std::string>) + : caseSensitive(caseSensitive_), diacriticSensitive(diacriticSensitive_) {} + + bool operator==(const Impl& other) const { return true; } + + int compare(const std::string& lhs, const std::string& rhs) const { return 0; } + + std::string resolvedLocale() const { return ""; } + +private: + bool caseSensitive; + bool diacriticSensitive; +}; + +Collator::Collator(bool caseSensitive, bool diacriticSensitive, optional<std::string> locale_) + : impl(std::make_shared<Impl>(caseSensitive, diacriticSensitive, std::move(locale_))) {} + +int Collator::compare(const std::string& lhs, const std::string& rhs) const { + return impl->compare(lhs, rhs); +} + +bool Collator::operator==(const Collator& other) const { + return *impl == *(other.impl); +} + +std::string Collator::resolvedLocale() const { + return impl->resolvedLocale(); +} + +} // namespace platform +} // namespace mbgl diff --git a/render-test/render_test_number_format.cpp b/render-test/render_test_number_format.cpp new file mode 100644 index 0000000000..93c0daa20c --- /dev/null +++ b/render-test/render_test_number_format.cpp @@ -0,0 +1,15 @@ +#include <mbgl/i18n/number_format.hpp> + +namespace mbgl { +namespace platform { + +std::string formatNumber(double /*number*/, + const std::string& /*localeId */, + const std::string& /*currency*/, + uint8_t /*minFractionDigits*/, + uint8_t /*maxFractionDigits*/) { + return ""; +} + +} // namespace platform +} // namespace mbgl |