diff options
author | zmiao <miao.zhao@mapbox.com> | 2019-12-04 18:10:58 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-12-04 18:10:58 +0200 |
commit | e619552a5df5fdfa3c95efa0959ff2da20eac452 (patch) | |
tree | 3974202bcb6db6ed097141b3f5b153678a2a648b /platform/android/src | |
parent | 1e2cd1e086c3053f1cea075d7641b7f56cc7dfbf (diff) | |
download | qtlocation-mapboxgl-e619552a5df5fdfa3c95efa0959ff2da20eac452.tar.gz |
[test-runner] Make Android RenderTestRunner bot fail when test cases are not fully passed (#15994)
* [test-runner] Fix failed tests, generate android specific expectations
* [test-runner] Check render test runner testing result
* [test-runner] Add error case to android ignore list
* [test-runner] Update metrics
* [test-runner] Move Android render tests with big diff(>0.006) to ignore list
Diffstat (limited to 'platform/android/src')
-rw-r--r-- | platform/android/src/test/render_test_runner.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/platform/android/src/test/render_test_runner.cpp b/platform/android/src/test/render_test_runner.cpp index d0af8d21a6..7e209aff3a 100644 --- a/platform/android/src/test/render_test_runner.cpp +++ b/platform/android/src/test/render_test_runner.cpp @@ -79,7 +79,7 @@ std::string jstringToStdString(JNIEnv* env, jstring jStr) { return ret; } -void changeState(JNIEnv* env, struct android_app* app) { +void changeState(JNIEnv* env, struct android_app* app, bool result) { jobject nativeActivity = app->activity->clazz; jclass acl = env->GetObjectClass(nativeActivity); jmethodID getClassLoader = env->GetMethodID(acl, "getClassLoader", "()Ljava/lang/ClassLoader;"); @@ -89,6 +89,8 @@ void changeState(JNIEnv* env, struct android_app* app) { JavaWrapper<jstring> strClassName(env, env->NewStringUTF("android.app.TestState")); jclass testStateClass = static_cast<jclass>(env->CallObjectMethod(cls, findClass, strClassName.get())); if (testStateClass != NULL) { + jfieldID id0 = env->GetStaticFieldID(testStateClass, "testResult", "Z"); + env->SetStaticBooleanField(testStateClass, id0, result); jfieldID id = env->GetStaticFieldID(testStateClass, "running", "Z"); env->SetStaticBooleanField(testStateClass, id, false); } @@ -278,10 +280,11 @@ void android_main(struct android_app* app) { mbgl::Log::Info(mbgl::Event::General, "End running RenderTestRunner with manifest: '%s'", manifest.c_str()); return result; }; - runTestWithManifest("/android-manifest-probe-network-gfx.json"); - runTestWithManifest("/android-manifest-probe-memory.json"); + + auto result = runTestWithManifest("/android-manifest-probe-network-gfx.json"); + result = runTestWithManifest("/android-manifest-probe-memory.json") && result; mbgl::Log::Info(mbgl::Event::General, "All tests are finished!"); - changeState(env, app); + changeState(env, app, result); } while (true) { ALooper_pollAll(0, &outFd, &outEvents, reinterpret_cast<void**>(&source)); |