diff options
author | Hal Canary <halcanary@google.com> | 2019-06-17 14:54:14 -0400 |
---|---|---|
committer | Hal Canary <halcanary@google.com> | 2019-06-25 14:16:46 -0400 |
commit | c0b8bf2b7492118d2de21b87d0683c43bf6490a7 (patch) | |
tree | ea59adbd7179176e41617af8df402c8acf05eb17 /platform_tools | |
parent | 48e5c9e4ab06ac4c096c9bd50f1dcaa4cb1284c6 (diff) | |
download | skqp-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.java | 42 |
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 |