diff options
-rw-r--r-- | platform_tools/android/apps/skqp/src/main/java/org/skia/skqp/SkQPRunner.java | 24 | ||||
-rw-r--r-- | tools/skqp/README.md | 2 | ||||
-rw-r--r-- | tools/skqp/gm_knowledge.cpp | 2 |
3 files changed, 22 insertions, 6 deletions
diff --git a/platform_tools/android/apps/skqp/src/main/java/org/skia/skqp/SkQPRunner.java b/platform_tools/android/apps/skqp/src/main/java/org/skia/skqp/SkQPRunner.java index 3f48a2bd32..77c824e4a0 100644 --- a/platform_tools/android/apps/skqp/src/main/java/org/skia/skqp/SkQPRunner.java +++ b/platform_tools/android/apps/skqp/src/main/java/org/skia/skqp/SkQPRunner.java @@ -58,7 +58,8 @@ public class SkQPRunner extends Runner { for (int backend = 0; backend < impl.mBackends.length; backend++) { String classname = SkQP.kSkiaGM + impl.mBackends[backend]; for (int gm = 0; gm < impl.mGMs.length; gm++) { - mDescription.addChild(Description.createTestDescription(classname, impl.mGMs[gm], annots)); + mDescription.addChild( + Description.createTestDescription(classname, impl.mGMs[gm], annots)); } } for (int unitTest = 0; unitTest < impl.mUnitTests.length; unitTest++) { @@ -71,7 +72,9 @@ public class SkQPRunner extends Runner { public Description getDescription() { return mDescription; } @Override - public int testCount() { return impl.mUnitTests.length + impl.mGMs.length * impl.mBackends.length; } + public int testCount() { + return impl.mUnitTests.length + impl.mGMs.length * impl.mBackends.length; + } @Override public void run(RunNotifier notifier) { @@ -79,7 +82,9 @@ public class SkQPRunner extends Runner { for (int backend = 0; backend < impl.mBackends.length; backend++) { String classname = SkQP.kSkiaGM + impl.mBackends[backend]; for (int gm = 0; gm < impl.mGMs.length; gm++) { - Description desc = Description.createTestDescription(classname, impl.mGMs[gm], annots); + String gmName = String.format("%s/%s", impl.mBackends[backend], impl.mGMs[gm]); + Description desc = + Description.createTestDescription(classname, impl.mGMs[gm], annots); notifier.fireTestStarted(desc); float value = java.lang.Float.MAX_VALUE; String error = null; @@ -90,26 +95,35 @@ public class SkQPRunner extends Runner { } if (error != null) { SkQPRunner.Fail(desc, notifier, String.format("Exception: %s", error)); + Log.w(TAG, String.format("[ERROR] %s: %s", gmName, error)); } else if (value != 0) { SkQPRunner.Fail(desc, notifier, String.format( "Image mismatch: max channel diff = %f", value)); + Log.w(TAG, String.format("[FAIL] %s: %f > 0", gmName, value)); + } else { + Log.i(TAG, String.format("Rendering Test %s passed", gmName)); } notifier.fireTestFinished(desc); } } for (int unitTest = 0; unitTest < impl.mUnitTests.length; unitTest++) { + String utName = impl.mUnitTests[unitTest]; Description desc = Description.createTestDescription( - SkQP.kSkiaUnitTests, impl.mUnitTests[unitTest], annots); + SkQP.kSkiaUnitTests, utName, annots); notifier.fireTestStarted(desc); String[] errors = impl.nExecuteUnitTest(unitTest); if (errors != null && errors.length > 0) { + Log.w(TAG, String.format("[FAIL] Test %s had %d failures.", utName, errors.length)); for (String error : errors) { SkQPRunner.Fail(desc, notifier, error); + Log.w(TAG, String.format("[FAIL] %s: %s", utName, error)); } + } else { + Log.i(TAG, String.format("Test %s passed.", utName)); } notifier.fireTestFinished(desc); } impl.nMakeReport(); + Log.i(TAG, String.format("output written to \"%s\"", GetOutputDir().getAbsolutePath())); } } - diff --git a/tools/skqp/README.md b/tools/skqp/README.md index e78e6edc6e..8b61174f2e 100644 --- a/tools/skqp/README.md +++ b/tools/skqp/README.md @@ -23,7 +23,7 @@ How To Use SkQP on your Android device: mkdir -p out/${arch}-rel cat > out/${arch}-rel/args.gn << EOF ndk = "$android_ndk" - ndk_api = 24 + ndk_api = 26 target_cpu = "$arch" skia_embed_resources = true is_debug = false diff --git a/tools/skqp/gm_knowledge.cpp b/tools/skqp/gm_knowledge.cpp index 05a6a5ccd0..cad4a84552 100644 --- a/tools/skqp/gm_knowledge.cpp +++ b/tools/skqp/gm_knowledge.cpp @@ -175,6 +175,7 @@ float Check(const uint32_t* pixels, gErrors.push_back(Run{SkString(backend), SkString(name), 0, 0}); } if (report_directory_path && badness > 0 && report_directory_path[0] != '\0') { + sk_mkdir(report_directory_path); if (!backend) { backend = "skia"; } @@ -226,6 +227,7 @@ bool MakeReport(const char* report_directory_path) { } } + sk_mkdir(report_directory_path); SkFILEWStream out(SkOSPath::Join(report_directory_path, PATH_REPORT).c_str()); if (!out.isValid()) { return false; |