diff options
author | 2018-02-20 14:48:40 -0500 | |
---|---|---|
committer | 2018-02-21 20:49:56 +0000 | |
commit | f637cc01f8f28d920a1d5b792193e97e8dd63e42 (patch) | |
tree | 69736bd4fa9f16b67532d2c3a5cd3123766c8001 /platform_tools/android/apps/skqp/src/main/java/org/skia/skqp/SkQPRunner.java | |
parent | cdcadf7a29d3f15389f828ced2d98f2be9b0c460 (diff) |
SkQP: run a single test
PLEASE NOTE: Instructions on running `am instrument` for the
SkQP APK have changed.
To run a single test, see the section "Running a single test"
in `tools/skqp/README.md`.
No-Try: true
Change-Id: I0a2cbc47755929d6c6a927a3591ff98046779c77
Reviewed-on: https://skia-review.googlesource.com/108780
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
Diffstat (limited to 'platform_tools/android/apps/skqp/src/main/java/org/skia/skqp/SkQPRunner.java')
-rw-r--r-- | platform_tools/android/apps/skqp/src/main/java/org/skia/skqp/SkQPRunner.java | 31 |
1 files changed, 19 insertions, 12 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 c5d0124cc1..79ea189899 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 @@ -14,7 +14,6 @@ import android.support.test.InstrumentationRegistry; import android.util.Log; import java.io.File; import java.io.IOException; -import java.lang.annotation.Annotation; import org.junit.runner.Description; import org.junit.runner.RunWith; import org.junit.runner.Runner; @@ -37,6 +36,15 @@ public class SkQPRunner extends Runner { File f = c.getExternalFilesDir(null); return new File(f, "output"); } + + private Description gmDesc(int backend, int gm) { + return Description.createTestDescription( + SkQP.kSkiaGM + impl.mBackends[backend], impl.mGMs[gm]); + } + private Description unitDesc(int test) { + return Description.createTestDescription(SkQP.kSkiaUnitTests, impl.mUnitTests[test]); + } + //////////////////////////////////////////////////////////////////////////// public SkQPRunner(Class testClass) { @@ -54,17 +62,13 @@ public class SkQPRunner extends Runner { impl.nInit(mAssetManager, filesDir.getAbsolutePath(), false); mDescription = Description.createSuiteDescription(testClass); - Annotation annots[] = new Annotation[0]; 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(this.gmDesc(backend, gm)); } } for (int unitTest = 0; unitTest < impl.mUnitTests.length; unitTest++) { - mDescription.addChild(Description.createTestDescription(SkQP.kSkiaUnitTests, - impl.mUnitTests[unitTest], annots)); + mDescription.addChild(this.unitDesc(unitTest)); } } @@ -80,16 +84,17 @@ public class SkQPRunner extends Runner { public void run(RunNotifier notifier) { int numberOfTests = this.testCount(); int testNumber = 1; - Annotation annots[] = new Annotation[0]; 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++) { String gmName = String.format("%s/%s", impl.mBackends[backend], impl.mGMs[gm]); + if (!SkQPAndroidRunner.filter(gmName)) { + continue; + } Log.v(TAG, String.format("Rendering Test %s started (%d/%d).", gmName, testNumber, numberOfTests)); testNumber++; - Description desc = - Description.createTestDescription(classname, impl.mGMs[gm], annots); + Description desc = this.gmDesc(backend, gm); notifier.fireTestStarted(desc); float value = java.lang.Float.MAX_VALUE; String error = null; @@ -113,11 +118,13 @@ public class SkQPRunner extends Runner { } for (int unitTest = 0; unitTest < impl.mUnitTests.length; unitTest++) { String utName = impl.mUnitTests[unitTest]; + if (!SkQPAndroidRunner.filter(String.format("unitTest/%s", utName))) { + continue; + } Log.v(TAG, String.format("Test %s started (%d/%d).", utName, testNumber, numberOfTests)); testNumber++; - Description desc = Description.createTestDescription( - SkQP.kSkiaUnitTests, utName, annots); + Description desc = this.unitDesc(unitTest); notifier.fireTestStarted(desc); String[] errors = impl.nExecuteUnitTest(unitTest); if (errors != null && errors.length > 0) { |