diff options
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 | 73 |
1 files changed, 22 insertions, 51 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 464c9e2e71..dc9aea3f19 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 @@ -21,30 +21,8 @@ import org.junit.runner.notification.Failure; import org.junit.runner.notification.RunNotifier; public class SkQPRunner extends Runner { - private native void nInit(AssetManager assetManager, String dataDir); - private native float nExecuteGM(int gm, int backend) throws SkQPException; - private native String[] nExecuteUnitTest(int test); - private native void nMakeReport(); - - private AssetManager mAssetManager; - private String[] mGMs; - private String[] mBackends; - private String[] mUnitTests; - - private static boolean sOnceFlag = false; - private static final String kSkiaGM = "SkiaGM_"; - private static final String kSkiaUnitTests = "Skia_UnitTests"; - private Description mDescription; - - private static void DeleteDirectoryContents(File f) throws IOException { - for (File s : f.listFiles()) { - if (s.isDirectory()) { - SkQPRunner.DeleteDirectoryContents(s); - } - s.delete(); - } - } + private SkQP impl; private static void Fail(Description desc, RunNotifier notifier, String failure) { notifier.fireTestFailure(new Failure(desc, new Throwable(failure))); @@ -53,37 +31,30 @@ public class SkQPRunner extends Runner { //////////////////////////////////////////////////////////////////////////// public SkQPRunner(Class testClass) { - synchronized (SkQPRunner.class) { - if (sOnceFlag) { - throw new IllegalStateException("Error multiple SkQPs defined"); - } - sOnceFlag = true; - } - System.loadLibrary("skqp_app"); - + impl = new SkQP(); Context context = InstrumentationRegistry.getTargetContext(); File filesDir = context.getFilesDir(); try { - SkQPRunner.DeleteDirectoryContents(filesDir); + SkQP.deleteDirectoryContents(filesDir); } catch (IOException e) { Log.w("org.skis.skqp", "DeleteDirectoryContents: " + e.getMessage()); } Resources resources = context.getResources(); - mAssetManager = resources.getAssets(); - this.nInit(mAssetManager, filesDir.getAbsolutePath()); + AssetManager mAssetManager = resources.getAssets(); + impl.nInit(mAssetManager, filesDir.getAbsolutePath()); mDescription = Description.createSuiteDescription(testClass); Annotation annots[] = new Annotation[0]; - for (int backend = 0; backend < mBackends.length; backend++) { - String classname = kSkiaGM + mBackends[backend]; - for (int gm = 0; gm < mGMs.length; gm++) { - mDescription.addChild(Description.createTestDescription(classname, mGMs[gm], annots)); + 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)); } } - for (int unitTest = 0; unitTest < mUnitTests.length; unitTest++) { - mDescription.addChild(Description.createTestDescription(kSkiaUnitTests, - mUnitTests[unitTest], annots)); + for (int unitTest = 0; unitTest < impl.mUnitTests.length; unitTest++) { + mDescription.addChild(Description.createTestDescription(SkQP.kSkiaUnitTests, + impl.mUnitTests[unitTest], annots)); } } @@ -91,20 +62,20 @@ public class SkQPRunner extends Runner { public Description getDescription() { return mDescription; } @Override - public int testCount() { return mUnitTests.length + mGMs.length * mBackends.length; } + public int testCount() { return impl.mUnitTests.length + impl.mGMs.length * impl.mBackends.length; } @Override public void run(RunNotifier notifier) { Annotation annots[] = new Annotation[0]; - for (int backend = 0; backend < mBackends.length; backend++) { - String classname = kSkiaGM + mBackends[backend]; - for (int gm = 0; gm < mGMs.length; gm++) { - Description desc = Description.createTestDescription(classname, mGMs[gm], annots); + 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); notifier.fireTestStarted(desc); float value = java.lang.Float.MAX_VALUE; String error = null; try { - value = this.nExecuteGM(gm, backend); + value = impl.nExecuteGM(gm, backend); } catch (SkQPException exept) { error = exept.getMessage(); } @@ -117,11 +88,11 @@ public class SkQPRunner extends Runner { notifier.fireTestFinished(desc); } } - for (int unitTest = 0; unitTest < mUnitTests.length; unitTest++) { + for (int unitTest = 0; unitTest < impl.mUnitTests.length; unitTest++) { Description desc = Description.createTestDescription( - kSkiaUnitTests, mUnitTests[unitTest], annots); + SkQP.kSkiaUnitTests, impl.mUnitTests[unitTest], annots); notifier.fireTestStarted(desc); - String[] errors = this.nExecuteUnitTest(unitTest); + String[] errors = impl.nExecuteUnitTest(unitTest); if (errors != null && errors.length > 0) { for (String error : errors) { SkQPRunner.Fail(desc, notifier, error); @@ -129,7 +100,7 @@ public class SkQPRunner extends Runner { } notifier.fireTestFinished(desc); } - this.nMakeReport(); + impl.nMakeReport(); } } |