aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--platform_tools/android/apps/skqp/src/main/java/org/skia/skqp/SkQPRunner.java24
-rw-r--r--tools/skqp/README.md2
-rw-r--r--tools/skqp/gm_knowledge.cpp2
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;