aboutsummaryrefslogtreecommitdiff
path: root/platform_tools
diff options
context:
space:
mode:
authorHal Canary <halcanary@google.com>2019-06-17 14:54:14 -0400
committerHal Canary <halcanary@google.com>2019-06-25 14:16:46 -0400
commitc0b8bf2b7492118d2de21b87d0683c43bf6490a7 (patch)
treeea59adbd7179176e41617af8df402c8acf05eb17 /platform_tools
parent48e5c9e4ab06ac4c096c9bd50f1dcaa4cb1284c6 (diff)
downloadskqp-c0b8bf2b7492118d2de21b87d0683c43bf6490a7.tar.gz
SkQP: fix Filterable.filter
Change-Id: Id50c24d16a3ba6810fbf49b91a7a93c3df5cb743 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223296 (cherry picked from commit 8b23d0ee5355b2d6e5898ec43adcdfe7d982e78c) Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223699 Reviewed-by: Hal Canary <halcanary@google.com> Cherry-Pick: af6f35e58c7b5ee833e1ece0964cc4f2b31067f9
Diffstat (limited to 'platform_tools')
-rw-r--r--platform_tools/android/apps/skqp/src/main/java/org/skia/skqp/SkQPRunner.java42
1 files changed, 21 insertions, 21 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 8e360c8840..e65d618d7d 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
@@ -29,6 +29,7 @@ import org.junit.runner.notification.RunNotifier;
public class SkQPRunner extends Runner implements Filterable {
private int mShouldRunTestCount;
private Description[] mTests;
+ private Description mDescription;
private boolean[] mShouldSkipTest;
private String mOutputDirectory;
private SkQP mImpl;
@@ -52,8 +53,9 @@ public class SkQPRunner extends Runner implements Filterable {
AssetManager assetManager = context.getResources().getAssets();
mImpl.nInit(assetManager, mOutputDirectory);
- mTests = new Description[this.testCount()];
- mShouldSkipTest = new boolean[mTests.length]; // = {false, false, ....};
+ int totalCount = mImpl.mUnitTests.length + mImpl.mGMs.length * mImpl.mBackends.length;
+ mTests = new Description[totalCount];
+ mShouldSkipTest = new boolean[totalCount]; // = {false, false, ....};
int index = 0;
for (int backend = 0; backend < mImpl.mBackends.length; backend++) {
for (int gm = 0; gm < mImpl.mGMs.length; gm++) {
@@ -65,37 +67,35 @@ public class SkQPRunner extends Runner implements Filterable {
mTests[index++] = Description.createTestDescription(SkQPRunner.class,
"unitTest_" + mImpl.mUnitTests[unitTest]);
}
- assert(index == mTests.length);
- mShouldRunTestCount = mTests.length;
+ assert(index == totalCount);
+ this.updateDescription(null);
}
- @Override
- public void filter(Filter filter) throws NoTestsRemainException {
- int count = 0;
+ private void updateDescription(Filter filter) {
+ mShouldRunTestCount = 0;
+ mDescription = Description.createSuiteDescription(SkQP.class);
+ assert(mTests.length == mShouldSkipTest.length);
for (int i = 0; i < mTests.length; ++i) {
- mShouldSkipTest[i] = !filter.shouldRun(mTests[i]);
- if (!mShouldSkipTest[i]) {
- ++count;
+ boolean doRunTest = filter != null ? filter.shouldRun(mTests[i]) : true;
+ mShouldSkipTest[i] = !doRunTest;
+ if (doRunTest) {
+ mDescription.addChild(mTests[i]);
+ ++mShouldRunTestCount;
}
}
- mShouldRunTestCount = count;
- if (0 == count) {
- throw new NoTestsRemainException();
- }
}
@Override
- public Description getDescription() {
- Description d = Description.createSuiteDescription(SkQP.class);
- for (int i = 0; i < mTests.length; ++i) {
- d.addChild(mTests[i]);
+ public void filter(Filter filter) throws NoTestsRemainException {
+ this.updateDescription(filter);
+ if (0 == mShouldRunTestCount) {
+ throw new NoTestsRemainException();
}
- return d;
}
@Override
- public int testCount() {
- return mImpl.mUnitTests.length + mImpl.mGMs.length * mImpl.mBackends.length;
+ public Description getDescription() {
+ return mDescription;
}
@Override