1721a5a24e2278f4012109865d62b98190b3185afJason Sams/* 2721a5a24e2278f4012109865d62b98190b3185afJason Sams * Copyright (C) 2011 The Android Open Source Project 3721a5a24e2278f4012109865d62b98190b3185afJason Sams * 4721a5a24e2278f4012109865d62b98190b3185afJason Sams * Licensed under the Apache License, Version 2.0 (the "License"); 5721a5a24e2278f4012109865d62b98190b3185afJason Sams * you may not use this file except in compliance with the License. 6721a5a24e2278f4012109865d62b98190b3185afJason Sams * You may obtain a copy of the License at 7721a5a24e2278f4012109865d62b98190b3185afJason Sams * 8721a5a24e2278f4012109865d62b98190b3185afJason Sams * http://www.apache.org/licenses/LICENSE-2.0 9721a5a24e2278f4012109865d62b98190b3185afJason Sams * 10721a5a24e2278f4012109865d62b98190b3185afJason Sams * Unless required by applicable law or agreed to in writing, software 11721a5a24e2278f4012109865d62b98190b3185afJason Sams * distributed under the License is distributed on an "AS IS" BASIS, 12721a5a24e2278f4012109865d62b98190b3185afJason Sams * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13721a5a24e2278f4012109865d62b98190b3185afJason Sams * See the License for the specific language governing permissions and 14721a5a24e2278f4012109865d62b98190b3185afJason Sams * limitations under the License. 15721a5a24e2278f4012109865d62b98190b3185afJason Sams */ 16721a5a24e2278f4012109865d62b98190b3185afJason Sams 17721a5a24e2278f4012109865d62b98190b3185afJason Samspackage com.android.rs.imagejb; 18721a5a24e2278f4012109865d62b98190b3185afJason Sams 19721a5a24e2278f4012109865d62b98190b3185afJason Sams 20721a5a24e2278f4012109865d62b98190b3185afJason Samsimport android.os.Bundle; 21721a5a24e2278f4012109865d62b98190b3185afJason Samsimport android.util.Log; 22721a5a24e2278f4012109865d62b98190b3185afJason Sams 23721a5a24e2278f4012109865d62b98190b3185afJason Samsimport com.android.rs.imagejb.IPTestListJB.TestName; 24721a5a24e2278f4012109865d62b98190b3185afJason Samsimport com.android.rs.imagejb.ImageProcessingTestRunner; 25721a5a24e2278f4012109865d62b98190b3185afJason Sams 26721a5a24e2278f4012109865d62b98190b3185afJason Samsimport android.test.ActivityInstrumentationTestCase2; 27721a5a24e2278f4012109865d62b98190b3185afJason Samsimport android.test.suitebuilder.annotation.LargeTest; 28721a5a24e2278f4012109865d62b98190b3185afJason Sams 29721a5a24e2278f4012109865d62b98190b3185afJason Sams/** 30721a5a24e2278f4012109865d62b98190b3185afJason Sams * ImageProcessing benchmark test. 31721a5a24e2278f4012109865d62b98190b3185afJason Sams * To run the test, please use command 32721a5a24e2278f4012109865d62b98190b3185afJason Sams * 33721a5a24e2278f4012109865d62b98190b3185afJason Sams * adb shell am instrument -e iteration <n> -w com.android.rs.image/.ImageProcessingTestRunner 34721a5a24e2278f4012109865d62b98190b3185afJason Sams * 35721a5a24e2278f4012109865d62b98190b3185afJason Sams */ 36721a5a24e2278f4012109865d62b98190b3185afJason Samspublic class ImageProcessingTest extends ActivityInstrumentationTestCase2<ImageProcessingActivityJB> { 37721a5a24e2278f4012109865d62b98190b3185afJason Sams private final String TAG = "ImageProcessingTest"; 38721a5a24e2278f4012109865d62b98190b3185afJason Sams private final String TEST_NAME = "Testname"; 39721a5a24e2278f4012109865d62b98190b3185afJason Sams private final String ITERATIONS = "Iterations"; 40721a5a24e2278f4012109865d62b98190b3185afJason Sams private final String BENCHMARK = "Benchmark"; 41721a5a24e2278f4012109865d62b98190b3185afJason Sams private static int INSTRUMENTATION_IN_PROGRESS = 2; 42721a5a24e2278f4012109865d62b98190b3185afJason Sams private int mIteration; 43721a5a24e2278f4012109865d62b98190b3185afJason Sams private ImageProcessingActivityJB mActivity; 44721a5a24e2278f4012109865d62b98190b3185afJason Sams 45721a5a24e2278f4012109865d62b98190b3185afJason Sams public ImageProcessingTest() { 46721a5a24e2278f4012109865d62b98190b3185afJason Sams super(ImageProcessingActivityJB.class); 47721a5a24e2278f4012109865d62b98190b3185afJason Sams } 48721a5a24e2278f4012109865d62b98190b3185afJason Sams 49721a5a24e2278f4012109865d62b98190b3185afJason Sams 50721a5a24e2278f4012109865d62b98190b3185afJason Sams protected void prepareTest(int test) { 51721a5a24e2278f4012109865d62b98190b3185afJason Sams /* 52721a5a24e2278f4012109865d62b98190b3185afJason Sams mActivity.mTestList = new int[1]; 53721a5a24e2278f4012109865d62b98190b3185afJason Sams mActivity.mTestList[0] = test; 54721a5a24e2278f4012109865d62b98190b3185afJason Sams 55721a5a24e2278f4012109865d62b98190b3185afJason Sams mActivity.mBitmapWidth = 1920; 56721a5a24e2278f4012109865d62b98190b3185afJason Sams mActivity.mBitmapHeight = 1080; 57721a5a24e2278f4012109865d62b98190b3185afJason Sams 58721a5a24e2278f4012109865d62b98190b3185afJason Sams mActivity.mTestResults = new float[1]; 59721a5a24e2278f4012109865d62b98190b3185afJason Sams 60721a5a24e2278f4012109865d62b98190b3185afJason Sams mActivity.startProcessor();*/ 61721a5a24e2278f4012109865d62b98190b3185afJason Sams } 62721a5a24e2278f4012109865d62b98190b3185afJason Sams 63721a5a24e2278f4012109865d62b98190b3185afJason Sams @Override 64721a5a24e2278f4012109865d62b98190b3185afJason Sams public void setUp() throws Exception { 65721a5a24e2278f4012109865d62b98190b3185afJason Sams super.setUp(); 66721a5a24e2278f4012109865d62b98190b3185afJason Sams setActivityInitialTouchMode(false); 67721a5a24e2278f4012109865d62b98190b3185afJason Sams mActivity = getActivity(); 68721a5a24e2278f4012109865d62b98190b3185afJason Sams ImageProcessingTestRunner mRunner = (ImageProcessingTestRunner) getInstrumentation(); 69721a5a24e2278f4012109865d62b98190b3185afJason Sams mIteration = mRunner.mIteration; 70721a5a24e2278f4012109865d62b98190b3185afJason Sams assertTrue("please enter a valid iteration value", mIteration > 0); 71721a5a24e2278f4012109865d62b98190b3185afJason Sams } 72721a5a24e2278f4012109865d62b98190b3185afJason Sams 73721a5a24e2278f4012109865d62b98190b3185afJason Sams @Override 74721a5a24e2278f4012109865d62b98190b3185afJason Sams public void tearDown() throws Exception { 75721a5a24e2278f4012109865d62b98190b3185afJason Sams super.tearDown(); 76721a5a24e2278f4012109865d62b98190b3185afJason Sams } 77721a5a24e2278f4012109865d62b98190b3185afJason Sams 78721a5a24e2278f4012109865d62b98190b3185afJason Sams class TestAction implements Runnable { 79721a5a24e2278f4012109865d62b98190b3185afJason Sams TestName mTestName; 80721a5a24e2278f4012109865d62b98190b3185afJason Sams float mResult; 81721a5a24e2278f4012109865d62b98190b3185afJason Sams public TestAction(TestName testName) { 82721a5a24e2278f4012109865d62b98190b3185afJason Sams mTestName = testName; 83721a5a24e2278f4012109865d62b98190b3185afJason Sams } 84721a5a24e2278f4012109865d62b98190b3185afJason Sams public void run() { 85721a5a24e2278f4012109865d62b98190b3185afJason Sams mActivity.changeTest(mTestName, false); 86721a5a24e2278f4012109865d62b98190b3185afJason Sams //mResult = mActivity.getBenchmark(); 87721a5a24e2278f4012109865d62b98190b3185afJason Sams Log.v(TAG, "Benchmark for test \"" + mTestName.toString() + "\" is: " + mResult); 88721a5a24e2278f4012109865d62b98190b3185afJason Sams synchronized(this) { 89721a5a24e2278f4012109865d62b98190b3185afJason Sams this.notify(); 90721a5a24e2278f4012109865d62b98190b3185afJason Sams } 91721a5a24e2278f4012109865d62b98190b3185afJason Sams } 92721a5a24e2278f4012109865d62b98190b3185afJason Sams public float getBenchmark() { 93721a5a24e2278f4012109865d62b98190b3185afJason Sams return mResult; 94721a5a24e2278f4012109865d62b98190b3185afJason Sams } 95721a5a24e2278f4012109865d62b98190b3185afJason Sams } 96721a5a24e2278f4012109865d62b98190b3185afJason Sams 97721a5a24e2278f4012109865d62b98190b3185afJason Sams // Set the benchmark thread to run on ui thread 98721a5a24e2278f4012109865d62b98190b3185afJason Sams // Synchronized the thread such that the test will wait for the benchmark thread to finish 99721a5a24e2278f4012109865d62b98190b3185afJason Sams public void runOnUiThread(Runnable action) { 100721a5a24e2278f4012109865d62b98190b3185afJason Sams synchronized(action) { 101721a5a24e2278f4012109865d62b98190b3185afJason Sams mActivity.runOnUiThread(action); 102721a5a24e2278f4012109865d62b98190b3185afJason Sams try { 103721a5a24e2278f4012109865d62b98190b3185afJason Sams action.wait(); 104721a5a24e2278f4012109865d62b98190b3185afJason Sams } catch (InterruptedException e) { 105721a5a24e2278f4012109865d62b98190b3185afJason Sams Log.v(TAG, "waiting for action running on UI thread is interrupted: " + 106721a5a24e2278f4012109865d62b98190b3185afJason Sams e.toString()); 107721a5a24e2278f4012109865d62b98190b3185afJason Sams } 108721a5a24e2278f4012109865d62b98190b3185afJason Sams } 109721a5a24e2278f4012109865d62b98190b3185afJason Sams } 110721a5a24e2278f4012109865d62b98190b3185afJason Sams 111721a5a24e2278f4012109865d62b98190b3185afJason Sams public void runTest(TestAction ta, String testName) { 112721a5a24e2278f4012109865d62b98190b3185afJason Sams float sum = 0; 113721a5a24e2278f4012109865d62b98190b3185afJason Sams for (int i = 0; i < mIteration; i++) { 114721a5a24e2278f4012109865d62b98190b3185afJason Sams runOnUiThread(ta); 115721a5a24e2278f4012109865d62b98190b3185afJason Sams float bmValue = ta.getBenchmark(); 116721a5a24e2278f4012109865d62b98190b3185afJason Sams Log.v(TAG, "results for iteration " + i + " is " + bmValue); 117721a5a24e2278f4012109865d62b98190b3185afJason Sams sum += bmValue; 118721a5a24e2278f4012109865d62b98190b3185afJason Sams } 119721a5a24e2278f4012109865d62b98190b3185afJason Sams float avgResult = sum/mIteration; 120721a5a24e2278f4012109865d62b98190b3185afJason Sams 121721a5a24e2278f4012109865d62b98190b3185afJason Sams // post result to INSTRUMENTATION_STATUS 122721a5a24e2278f4012109865d62b98190b3185afJason Sams Bundle results = new Bundle(); 123721a5a24e2278f4012109865d62b98190b3185afJason Sams results.putString(TEST_NAME, testName); 124721a5a24e2278f4012109865d62b98190b3185afJason Sams results.putInt(ITERATIONS, mIteration); 125721a5a24e2278f4012109865d62b98190b3185afJason Sams results.putFloat(BENCHMARK, avgResult); 126721a5a24e2278f4012109865d62b98190b3185afJason Sams getInstrumentation().sendStatus(INSTRUMENTATION_IN_PROGRESS, results); 127721a5a24e2278f4012109865d62b98190b3185afJason Sams } 128721a5a24e2278f4012109865d62b98190b3185afJason Sams 129721a5a24e2278f4012109865d62b98190b3185afJason Sams // Test case 0: Levels Vec3 Relaxed 130721a5a24e2278f4012109865d62b98190b3185afJason Sams @LargeTest 131721a5a24e2278f4012109865d62b98190b3185afJason Sams public void testLevelsVec3Relaxed() { 132721a5a24e2278f4012109865d62b98190b3185afJason Sams TestAction ta = new TestAction(TestName.LEVELS_VEC3_RELAXED); 133721a5a24e2278f4012109865d62b98190b3185afJason Sams runTest(ta, TestName.LEVELS_VEC3_RELAXED.name()); 134721a5a24e2278f4012109865d62b98190b3185afJason Sams } 135721a5a24e2278f4012109865d62b98190b3185afJason Sams 136721a5a24e2278f4012109865d62b98190b3185afJason Sams // Test case 1: Levels Vec4 Relaxed 137721a5a24e2278f4012109865d62b98190b3185afJason Sams @LargeTest 138721a5a24e2278f4012109865d62b98190b3185afJason Sams public void testLevelsVec4Relaxed() { 139721a5a24e2278f4012109865d62b98190b3185afJason Sams TestAction ta = new TestAction(TestName.LEVELS_VEC4_RELAXED); 140721a5a24e2278f4012109865d62b98190b3185afJason Sams runTest(ta, TestName.LEVELS_VEC4_RELAXED.name()); 141721a5a24e2278f4012109865d62b98190b3185afJason Sams } 142721a5a24e2278f4012109865d62b98190b3185afJason Sams 143721a5a24e2278f4012109865d62b98190b3185afJason Sams // Test case 2: Levels Vec3 Full 144721a5a24e2278f4012109865d62b98190b3185afJason Sams @LargeTest 145721a5a24e2278f4012109865d62b98190b3185afJason Sams public void testLevelsVec3Full() { 146721a5a24e2278f4012109865d62b98190b3185afJason Sams TestAction ta = new TestAction(TestName.LEVELS_VEC3_FULL); 147721a5a24e2278f4012109865d62b98190b3185afJason Sams runTest(ta, TestName.LEVELS_VEC3_FULL.name()); 148721a5a24e2278f4012109865d62b98190b3185afJason Sams } 149721a5a24e2278f4012109865d62b98190b3185afJason Sams 150721a5a24e2278f4012109865d62b98190b3185afJason Sams // Test case 3: Levels Vec4 Full 151721a5a24e2278f4012109865d62b98190b3185afJason Sams @LargeTest 152721a5a24e2278f4012109865d62b98190b3185afJason Sams public void testLevelsVec4Full() { 153721a5a24e2278f4012109865d62b98190b3185afJason Sams TestAction ta = new TestAction(TestName.LEVELS_VEC4_FULL); 154721a5a24e2278f4012109865d62b98190b3185afJason Sams runTest(ta, TestName.LEVELS_VEC4_FULL.name()); 155721a5a24e2278f4012109865d62b98190b3185afJason Sams } 156721a5a24e2278f4012109865d62b98190b3185afJason Sams 157721a5a24e2278f4012109865d62b98190b3185afJason Sams // Test case 4: Blur Radius 25 158721a5a24e2278f4012109865d62b98190b3185afJason Sams @LargeTest 159721a5a24e2278f4012109865d62b98190b3185afJason Sams public void testBlurRadius25() { 160721a5a24e2278f4012109865d62b98190b3185afJason Sams TestAction ta = new TestAction(TestName.BLUR_RADIUS_25); 161721a5a24e2278f4012109865d62b98190b3185afJason Sams runTest(ta, TestName.BLUR_RADIUS_25.name()); 162721a5a24e2278f4012109865d62b98190b3185afJason Sams } 163721a5a24e2278f4012109865d62b98190b3185afJason Sams 164721a5a24e2278f4012109865d62b98190b3185afJason Sams // Test case 5: Intrinsic Blur Radius 25 165721a5a24e2278f4012109865d62b98190b3185afJason Sams @LargeTest 166721a5a24e2278f4012109865d62b98190b3185afJason Sams public void testIntrinsicBlurRadius25() { 167721a5a24e2278f4012109865d62b98190b3185afJason Sams TestAction ta = new TestAction(TestName.INTRINSIC_BLUR_RADIUS_25); 168721a5a24e2278f4012109865d62b98190b3185afJason Sams runTest(ta, TestName.INTRINSIC_BLUR_RADIUS_25.name()); 169721a5a24e2278f4012109865d62b98190b3185afJason Sams } 170721a5a24e2278f4012109865d62b98190b3185afJason Sams 171721a5a24e2278f4012109865d62b98190b3185afJason Sams // Test case 6: Greyscale 172721a5a24e2278f4012109865d62b98190b3185afJason Sams @LargeTest 173721a5a24e2278f4012109865d62b98190b3185afJason Sams public void testGreyscale() { 174721a5a24e2278f4012109865d62b98190b3185afJason Sams TestAction ta = new TestAction(TestName.GREYSCALE); 175721a5a24e2278f4012109865d62b98190b3185afJason Sams runTest(ta, TestName.GREYSCALE.name()); 176721a5a24e2278f4012109865d62b98190b3185afJason Sams } 177721a5a24e2278f4012109865d62b98190b3185afJason Sams 178721a5a24e2278f4012109865d62b98190b3185afJason Sams // Test case 7: Grain 179721a5a24e2278f4012109865d62b98190b3185afJason Sams @LargeTest 180721a5a24e2278f4012109865d62b98190b3185afJason Sams public void testGrain() { 181721a5a24e2278f4012109865d62b98190b3185afJason Sams TestAction ta = new TestAction(TestName.GRAIN); 182721a5a24e2278f4012109865d62b98190b3185afJason Sams runTest(ta, TestName.GRAIN.name()); 183721a5a24e2278f4012109865d62b98190b3185afJason Sams } 184721a5a24e2278f4012109865d62b98190b3185afJason Sams 185721a5a24e2278f4012109865d62b98190b3185afJason Sams // Test case 8: Fisheye Full 186721a5a24e2278f4012109865d62b98190b3185afJason Sams @LargeTest 187721a5a24e2278f4012109865d62b98190b3185afJason Sams public void testFisheyeFull() { 188721a5a24e2278f4012109865d62b98190b3185afJason Sams TestAction ta = new TestAction(TestName.FISHEYE_FULL); 189721a5a24e2278f4012109865d62b98190b3185afJason Sams runTest(ta, TestName.FISHEYE_FULL.name()); 190721a5a24e2278f4012109865d62b98190b3185afJason Sams } 191721a5a24e2278f4012109865d62b98190b3185afJason Sams 192721a5a24e2278f4012109865d62b98190b3185afJason Sams // Test case 9: Fisheye Relaxed 193721a5a24e2278f4012109865d62b98190b3185afJason Sams @LargeTest 194721a5a24e2278f4012109865d62b98190b3185afJason Sams public void testFishEyeRelaxed() { 195721a5a24e2278f4012109865d62b98190b3185afJason Sams TestAction ta = new TestAction(TestName.FISHEYE_RELAXED); 196721a5a24e2278f4012109865d62b98190b3185afJason Sams runTest(ta, TestName.FISHEYE_RELAXED.name()); 197721a5a24e2278f4012109865d62b98190b3185afJason Sams } 198721a5a24e2278f4012109865d62b98190b3185afJason Sams 199721a5a24e2278f4012109865d62b98190b3185afJason Sams // Test case 10: Fisheye Approximate Full 200721a5a24e2278f4012109865d62b98190b3185afJason Sams @LargeTest 201721a5a24e2278f4012109865d62b98190b3185afJason Sams public void testFisheyeApproximateFull() { 202721a5a24e2278f4012109865d62b98190b3185afJason Sams TestAction ta = new TestAction(TestName.FISHEYE_APPROXIMATE_FULL); 203721a5a24e2278f4012109865d62b98190b3185afJason Sams runTest(ta, TestName.FISHEYE_APPROXIMATE_FULL.name()); 204721a5a24e2278f4012109865d62b98190b3185afJason Sams } 205721a5a24e2278f4012109865d62b98190b3185afJason Sams 206721a5a24e2278f4012109865d62b98190b3185afJason Sams // Test case 11: Fisheye Approximate Relaxed 207721a5a24e2278f4012109865d62b98190b3185afJason Sams @LargeTest 208721a5a24e2278f4012109865d62b98190b3185afJason Sams public void testFisheyeApproximateRelaxed() { 209721a5a24e2278f4012109865d62b98190b3185afJason Sams TestAction ta = new TestAction(TestName.FISHEYE_APPROXIMATE_RELAXED); 210721a5a24e2278f4012109865d62b98190b3185afJason Sams runTest(ta, TestName.FISHEYE_APPROXIMATE_RELAXED.name()); 211721a5a24e2278f4012109865d62b98190b3185afJason Sams } 212721a5a24e2278f4012109865d62b98190b3185afJason Sams 213721a5a24e2278f4012109865d62b98190b3185afJason Sams // Test case 12: Vignette Full 214721a5a24e2278f4012109865d62b98190b3185afJason Sams @LargeTest 215721a5a24e2278f4012109865d62b98190b3185afJason Sams public void testVignetteFull() { 216721a5a24e2278f4012109865d62b98190b3185afJason Sams TestAction ta = new TestAction(TestName.VIGNETTE_FULL); 217721a5a24e2278f4012109865d62b98190b3185afJason Sams runTest(ta, TestName.VIGNETTE_FULL.name()); 218721a5a24e2278f4012109865d62b98190b3185afJason Sams } 219721a5a24e2278f4012109865d62b98190b3185afJason Sams 220721a5a24e2278f4012109865d62b98190b3185afJason Sams // Test case 13: Vignette Relaxed 221721a5a24e2278f4012109865d62b98190b3185afJason Sams @LargeTest 222721a5a24e2278f4012109865d62b98190b3185afJason Sams public void testVignetteRelaxed() { 223721a5a24e2278f4012109865d62b98190b3185afJason Sams TestAction ta = new TestAction(TestName.VIGNETTE_RELAXED); 224721a5a24e2278f4012109865d62b98190b3185afJason Sams runTest(ta, TestName.VIGNETTE_RELAXED.name()); 225721a5a24e2278f4012109865d62b98190b3185afJason Sams } 226721a5a24e2278f4012109865d62b98190b3185afJason Sams 227721a5a24e2278f4012109865d62b98190b3185afJason Sams // Test case 14: Vignette Approximate Full 228721a5a24e2278f4012109865d62b98190b3185afJason Sams @LargeTest 229721a5a24e2278f4012109865d62b98190b3185afJason Sams public void testVignetteApproximateFull() { 230721a5a24e2278f4012109865d62b98190b3185afJason Sams TestAction ta = new TestAction(TestName.VIGNETTE_APPROXIMATE_FULL); 231721a5a24e2278f4012109865d62b98190b3185afJason Sams runTest(ta, TestName.VIGNETTE_APPROXIMATE_FULL.name()); 232721a5a24e2278f4012109865d62b98190b3185afJason Sams } 233721a5a24e2278f4012109865d62b98190b3185afJason Sams 234721a5a24e2278f4012109865d62b98190b3185afJason Sams // Test case 15: Vignette Approximate Relaxed 235721a5a24e2278f4012109865d62b98190b3185afJason Sams @LargeTest 236721a5a24e2278f4012109865d62b98190b3185afJason Sams public void testVignetteApproximateRelaxed() { 237721a5a24e2278f4012109865d62b98190b3185afJason Sams TestAction ta = new TestAction(TestName.VIGNETTE_APPROXIMATE_RELAXED); 238721a5a24e2278f4012109865d62b98190b3185afJason Sams runTest(ta, TestName.VIGNETTE_APPROXIMATE_RELAXED.name()); 239721a5a24e2278f4012109865d62b98190b3185afJason Sams } 240721a5a24e2278f4012109865d62b98190b3185afJason Sams 241721a5a24e2278f4012109865d62b98190b3185afJason Sams // Test case 16: Group Test (emulated) 242721a5a24e2278f4012109865d62b98190b3185afJason Sams @LargeTest 243721a5a24e2278f4012109865d62b98190b3185afJason Sams public void testGroupTestEmulated() { 244721a5a24e2278f4012109865d62b98190b3185afJason Sams TestAction ta = new TestAction(TestName.GROUP_TEST_EMULATED); 245721a5a24e2278f4012109865d62b98190b3185afJason Sams runTest(ta, TestName.GROUP_TEST_EMULATED.name()); 246721a5a24e2278f4012109865d62b98190b3185afJason Sams } 247721a5a24e2278f4012109865d62b98190b3185afJason Sams 248721a5a24e2278f4012109865d62b98190b3185afJason Sams // Test case 17: Group Test (native) 249721a5a24e2278f4012109865d62b98190b3185afJason Sams @LargeTest 250721a5a24e2278f4012109865d62b98190b3185afJason Sams public void testGroupTestNative() { 251721a5a24e2278f4012109865d62b98190b3185afJason Sams TestAction ta = new TestAction(TestName.GROUP_TEST_NATIVE); 252721a5a24e2278f4012109865d62b98190b3185afJason Sams runTest(ta, TestName.GROUP_TEST_NATIVE.name()); 253721a5a24e2278f4012109865d62b98190b3185afJason Sams } 254721a5a24e2278f4012109865d62b98190b3185afJason Sams 255721a5a24e2278f4012109865d62b98190b3185afJason Sams // Test case 18: Convolve 3x3 256721a5a24e2278f4012109865d62b98190b3185afJason Sams @LargeTest 257721a5a24e2278f4012109865d62b98190b3185afJason Sams public void testConvolve3x3() { 258721a5a24e2278f4012109865d62b98190b3185afJason Sams TestAction ta = new TestAction(TestName.CONVOLVE_3X3); 259721a5a24e2278f4012109865d62b98190b3185afJason Sams runTest(ta, TestName.CONVOLVE_3X3.name()); 260721a5a24e2278f4012109865d62b98190b3185afJason Sams } 261721a5a24e2278f4012109865d62b98190b3185afJason Sams 262721a5a24e2278f4012109865d62b98190b3185afJason Sams // Test case 19: Intrinsics Convolve 3x3 263721a5a24e2278f4012109865d62b98190b3185afJason Sams @LargeTest 264721a5a24e2278f4012109865d62b98190b3185afJason Sams public void testIntrinsicsConvolve3x3() { 265721a5a24e2278f4012109865d62b98190b3185afJason Sams TestAction ta = new TestAction(TestName.INTRINSICS_CONVOLVE_3X3); 266721a5a24e2278f4012109865d62b98190b3185afJason Sams runTest(ta, TestName.INTRINSICS_CONVOLVE_3X3.name()); 267721a5a24e2278f4012109865d62b98190b3185afJason Sams } 268721a5a24e2278f4012109865d62b98190b3185afJason Sams 269721a5a24e2278f4012109865d62b98190b3185afJason Sams // Test case 20: ColorMatrix 270721a5a24e2278f4012109865d62b98190b3185afJason Sams @LargeTest 271721a5a24e2278f4012109865d62b98190b3185afJason Sams public void testColorMatrix() { 272721a5a24e2278f4012109865d62b98190b3185afJason Sams TestAction ta = new TestAction(TestName.COLOR_MATRIX); 273721a5a24e2278f4012109865d62b98190b3185afJason Sams runTest(ta, TestName.COLOR_MATRIX.name()); 274721a5a24e2278f4012109865d62b98190b3185afJason Sams } 275721a5a24e2278f4012109865d62b98190b3185afJason Sams 276721a5a24e2278f4012109865d62b98190b3185afJason Sams // Test case 21: Intrinsics ColorMatrix 277721a5a24e2278f4012109865d62b98190b3185afJason Sams @LargeTest 278721a5a24e2278f4012109865d62b98190b3185afJason Sams public void testIntrinsicsColorMatrix() { 279721a5a24e2278f4012109865d62b98190b3185afJason Sams TestAction ta = new TestAction(TestName.INTRINSICS_COLOR_MATRIX); 280721a5a24e2278f4012109865d62b98190b3185afJason Sams runTest(ta, TestName.INTRINSICS_COLOR_MATRIX.name()); 281721a5a24e2278f4012109865d62b98190b3185afJason Sams } 282721a5a24e2278f4012109865d62b98190b3185afJason Sams 283721a5a24e2278f4012109865d62b98190b3185afJason Sams // Test case 22: Intrinsics ColorMatrix Grey 284721a5a24e2278f4012109865d62b98190b3185afJason Sams @LargeTest 285721a5a24e2278f4012109865d62b98190b3185afJason Sams public void testIntrinsicsColorMatrixGrey() { 286721a5a24e2278f4012109865d62b98190b3185afJason Sams TestAction ta = new TestAction(TestName.INTRINSICS_COLOR_MATRIX_GREY); 287721a5a24e2278f4012109865d62b98190b3185afJason Sams runTest(ta, TestName.INTRINSICS_COLOR_MATRIX_GREY.name()); 288721a5a24e2278f4012109865d62b98190b3185afJason Sams } 289721a5a24e2278f4012109865d62b98190b3185afJason Sams 290721a5a24e2278f4012109865d62b98190b3185afJason Sams // Test case 23: Copy 291721a5a24e2278f4012109865d62b98190b3185afJason Sams @LargeTest 292721a5a24e2278f4012109865d62b98190b3185afJason Sams public void testCopy() { 293721a5a24e2278f4012109865d62b98190b3185afJason Sams TestAction ta = new TestAction(TestName.COPY); 294721a5a24e2278f4012109865d62b98190b3185afJason Sams runTest(ta, TestName.COPY.name()); 295721a5a24e2278f4012109865d62b98190b3185afJason Sams } 296721a5a24e2278f4012109865d62b98190b3185afJason Sams 297721a5a24e2278f4012109865d62b98190b3185afJason Sams // Test case 24: CrossProcess (using LUT) 298721a5a24e2278f4012109865d62b98190b3185afJason Sams @LargeTest 299721a5a24e2278f4012109865d62b98190b3185afJason Sams public void testCrossProcessUsingLUT() { 300721a5a24e2278f4012109865d62b98190b3185afJason Sams TestAction ta = new TestAction(TestName.CROSS_PROCESS_USING_LUT); 301721a5a24e2278f4012109865d62b98190b3185afJason Sams runTest(ta, TestName.CROSS_PROCESS_USING_LUT.name()); 302721a5a24e2278f4012109865d62b98190b3185afJason Sams } 303721a5a24e2278f4012109865d62b98190b3185afJason Sams 304721a5a24e2278f4012109865d62b98190b3185afJason Sams // Test case 25: Convolve 5x5 305721a5a24e2278f4012109865d62b98190b3185afJason Sams @LargeTest 306721a5a24e2278f4012109865d62b98190b3185afJason Sams public void testConvolve5x5() { 307721a5a24e2278f4012109865d62b98190b3185afJason Sams TestAction ta = new TestAction(TestName.CONVOLVE_5X5); 308721a5a24e2278f4012109865d62b98190b3185afJason Sams runTest(ta, TestName.CONVOLVE_5X5.name()); 309721a5a24e2278f4012109865d62b98190b3185afJason Sams } 310721a5a24e2278f4012109865d62b98190b3185afJason Sams 311721a5a24e2278f4012109865d62b98190b3185afJason Sams // Test case 26: Intrinsics Convolve 5x5 312721a5a24e2278f4012109865d62b98190b3185afJason Sams @LargeTest 313721a5a24e2278f4012109865d62b98190b3185afJason Sams public void testIntrinsicsConvolve5x5() { 314721a5a24e2278f4012109865d62b98190b3185afJason Sams TestAction ta = new TestAction(TestName.INTRINSICS_CONVOLVE_5X5); 315721a5a24e2278f4012109865d62b98190b3185afJason Sams runTest(ta, TestName.INTRINSICS_CONVOLVE_5X5.name()); 316721a5a24e2278f4012109865d62b98190b3185afJason Sams } 317721a5a24e2278f4012109865d62b98190b3185afJason Sams 318721a5a24e2278f4012109865d62b98190b3185afJason Sams // Test case 27: Mandelbrot 319721a5a24e2278f4012109865d62b98190b3185afJason Sams @LargeTest 320721a5a24e2278f4012109865d62b98190b3185afJason Sams public void testMandelbrot() { 321721a5a24e2278f4012109865d62b98190b3185afJason Sams TestAction ta = new TestAction(TestName.MANDELBROT_FLOAT); 322721a5a24e2278f4012109865d62b98190b3185afJason Sams runTest(ta, TestName.MANDELBROT_FLOAT.name()); 323721a5a24e2278f4012109865d62b98190b3185afJason Sams } 324721a5a24e2278f4012109865d62b98190b3185afJason Sams 325721a5a24e2278f4012109865d62b98190b3185afJason Sams // Test case 28: Intrinsics Blend 326721a5a24e2278f4012109865d62b98190b3185afJason Sams @LargeTest 327721a5a24e2278f4012109865d62b98190b3185afJason Sams public void testIntrinsicsBlend() { 328721a5a24e2278f4012109865d62b98190b3185afJason Sams TestAction ta = new TestAction(TestName.INTRINSICS_BLEND); 329721a5a24e2278f4012109865d62b98190b3185afJason Sams runTest(ta, TestName.INTRINSICS_BLEND.name()); 330721a5a24e2278f4012109865d62b98190b3185afJason Sams } 331721a5a24e2278f4012109865d62b98190b3185afJason Sams 332721a5a24e2278f4012109865d62b98190b3185afJason Sams // Test case 29: Intrinsics Blur 25 uchar 333721a5a24e2278f4012109865d62b98190b3185afJason Sams @LargeTest 334721a5a24e2278f4012109865d62b98190b3185afJason Sams public void testIntrinsicsBlur25G() { 335721a5a24e2278f4012109865d62b98190b3185afJason Sams TestAction ta = new TestAction(TestName.INTRINSICS_BLUR_25G); 336721a5a24e2278f4012109865d62b98190b3185afJason Sams runTest(ta, TestName.INTRINSICS_BLUR_25G.name()); 337721a5a24e2278f4012109865d62b98190b3185afJason Sams } 338721a5a24e2278f4012109865d62b98190b3185afJason Sams 339721a5a24e2278f4012109865d62b98190b3185afJason Sams // Test case 30: Vibrance 340721a5a24e2278f4012109865d62b98190b3185afJason Sams @LargeTest 341721a5a24e2278f4012109865d62b98190b3185afJason Sams public void testVibrance() { 342721a5a24e2278f4012109865d62b98190b3185afJason Sams TestAction ta = new TestAction(TestName.VIBRANCE); 343721a5a24e2278f4012109865d62b98190b3185afJason Sams runTest(ta, TestName.VIBRANCE.name()); 344721a5a24e2278f4012109865d62b98190b3185afJason Sams } 345721a5a24e2278f4012109865d62b98190b3185afJason Sams 346721a5a24e2278f4012109865d62b98190b3185afJason Sams // Test case 31: BWFilter 347721a5a24e2278f4012109865d62b98190b3185afJason Sams @LargeTest 348721a5a24e2278f4012109865d62b98190b3185afJason Sams public void testBWFilter() { 349721a5a24e2278f4012109865d62b98190b3185afJason Sams TestAction ta = new TestAction(TestName.BW_FILTER); 350721a5a24e2278f4012109865d62b98190b3185afJason Sams runTest(ta, TestName.BW_FILTER.name()); 351721a5a24e2278f4012109865d62b98190b3185afJason Sams } 352721a5a24e2278f4012109865d62b98190b3185afJason Sams 353721a5a24e2278f4012109865d62b98190b3185afJason Sams // Test case 32: Shadows 354721a5a24e2278f4012109865d62b98190b3185afJason Sams @LargeTest 355721a5a24e2278f4012109865d62b98190b3185afJason Sams public void testShadows() { 356721a5a24e2278f4012109865d62b98190b3185afJason Sams TestAction ta = new TestAction(TestName.SHADOWS); 357721a5a24e2278f4012109865d62b98190b3185afJason Sams runTest(ta, TestName.SHADOWS.name()); 358721a5a24e2278f4012109865d62b98190b3185afJason Sams } 359721a5a24e2278f4012109865d62b98190b3185afJason Sams 360721a5a24e2278f4012109865d62b98190b3185afJason Sams // Test case 33: Contrast 361721a5a24e2278f4012109865d62b98190b3185afJason Sams @LargeTest 362721a5a24e2278f4012109865d62b98190b3185afJason Sams public void testContrast() { 363721a5a24e2278f4012109865d62b98190b3185afJason Sams TestAction ta = new TestAction(TestName.CONTRAST); 364721a5a24e2278f4012109865d62b98190b3185afJason Sams runTest(ta, TestName.CONTRAST.name()); 365721a5a24e2278f4012109865d62b98190b3185afJason Sams } 366721a5a24e2278f4012109865d62b98190b3185afJason Sams 367721a5a24e2278f4012109865d62b98190b3185afJason Sams // Test case 34: Exposure 368721a5a24e2278f4012109865d62b98190b3185afJason Sams @LargeTest 369721a5a24e2278f4012109865d62b98190b3185afJason Sams public void testExposure(){ 370721a5a24e2278f4012109865d62b98190b3185afJason Sams TestAction ta = new TestAction(TestName.EXPOSURE); 371721a5a24e2278f4012109865d62b98190b3185afJason Sams runTest(ta, TestName.EXPOSURE.name()); 372721a5a24e2278f4012109865d62b98190b3185afJason Sams } 373721a5a24e2278f4012109865d62b98190b3185afJason Sams 374721a5a24e2278f4012109865d62b98190b3185afJason Sams // Test case 35: White Balance 375721a5a24e2278f4012109865d62b98190b3185afJason Sams @LargeTest 376721a5a24e2278f4012109865d62b98190b3185afJason Sams public void testWhiteBalance() { 377721a5a24e2278f4012109865d62b98190b3185afJason Sams TestAction ta = new TestAction(TestName.WHITE_BALANCE); 378721a5a24e2278f4012109865d62b98190b3185afJason Sams runTest(ta, TestName.WHITE_BALANCE.name()); 379721a5a24e2278f4012109865d62b98190b3185afJason Sams } 380721a5a24e2278f4012109865d62b98190b3185afJason Sams 381721a5a24e2278f4012109865d62b98190b3185afJason Sams // Test case 36: Color Cube 382721a5a24e2278f4012109865d62b98190b3185afJason Sams @LargeTest 383721a5a24e2278f4012109865d62b98190b3185afJason Sams public void testColorCube() { 384721a5a24e2278f4012109865d62b98190b3185afJason Sams TestAction ta = new TestAction(TestName.COLOR_CUBE); 385721a5a24e2278f4012109865d62b98190b3185afJason Sams runTest(ta, TestName.COLOR_CUBE.name()); 386721a5a24e2278f4012109865d62b98190b3185afJason Sams } 387721a5a24e2278f4012109865d62b98190b3185afJason Sams 388721a5a24e2278f4012109865d62b98190b3185afJason Sams // Test case 37: Color Cube (3D Intrinsic) 389721a5a24e2278f4012109865d62b98190b3185afJason Sams @LargeTest 390721a5a24e2278f4012109865d62b98190b3185afJason Sams public void testColorCube3DIntrinsic() { 391721a5a24e2278f4012109865d62b98190b3185afJason Sams TestAction ta = new TestAction(TestName.COLOR_CUBE_3D_INTRINSIC); 392721a5a24e2278f4012109865d62b98190b3185afJason Sams runTest(ta, TestName.COLOR_CUBE_3D_INTRINSIC.name()); 393721a5a24e2278f4012109865d62b98190b3185afJason Sams } 394721a5a24e2278f4012109865d62b98190b3185afJason Sams/* 395721a5a24e2278f4012109865d62b98190b3185afJason Sams // Test case 38: Usage io 396721a5a24e2278f4012109865d62b98190b3185afJason Sams @LargeTest 397721a5a24e2278f4012109865d62b98190b3185afJason Sams public void testUsageIO() { 398721a5a24e2278f4012109865d62b98190b3185afJason Sams TestAction ta = new TestAction(TestName.USAGE_IO); 399721a5a24e2278f4012109865d62b98190b3185afJason Sams runTest(ta, TestName.USAGE_IO.name()); 400721a5a24e2278f4012109865d62b98190b3185afJason Sams } 401721a5a24e2278f4012109865d62b98190b3185afJason Sams // Test case 39: Artistic 1 402721a5a24e2278f4012109865d62b98190b3185afJason Sams @LargeTest 403721a5a24e2278f4012109865d62b98190b3185afJason Sams public void testArtistic1() { 404721a5a24e2278f4012109865d62b98190b3185afJason Sams TestAction ta = new TestAction(TestName.ARTISTIC_1); 405721a5a24e2278f4012109865d62b98190b3185afJason Sams runTest(ta, TestName.ARTISTIC_1.name()); 406721a5a24e2278f4012109865d62b98190b3185afJason Sams } 407721a5a24e2278f4012109865d62b98190b3185afJason Sams 408721a5a24e2278f4012109865d62b98190b3185afJason Sams // Test case 40 Histogram 409721a5a24e2278f4012109865d62b98190b3185afJason Sams @LargeTest 410721a5a24e2278f4012109865d62b98190b3185afJason Sams public void testHistogram() { 411721a5a24e2278f4012109865d62b98190b3185afJason Sams TestAction ta = new TestAction(TestName.HISTOGRAM); 412721a5a24e2278f4012109865d62b98190b3185afJason Sams runTest(ta, TestName.HISTOGRAM.name()); 413721a5a24e2278f4012109865d62b98190b3185afJason Sams } 414721a5a24e2278f4012109865d62b98190b3185afJason Sams 415721a5a24e2278f4012109865d62b98190b3185afJason Sams // Test case 41: Mandelbrot fp64 416721a5a24e2278f4012109865d62b98190b3185afJason Sams @LargeTest 417721a5a24e2278f4012109865d62b98190b3185afJason Sams public void testMandelbrotfp64() { 418721a5a24e2278f4012109865d62b98190b3185afJason Sams TestAction ta = new TestAction(TestName.MANDELBROT_DOUBLE); 419721a5a24e2278f4012109865d62b98190b3185afJason Sams runTest(ta, TestName.MANDELBROT_DOUBLE.name()); 420721a5a24e2278f4012109865d62b98190b3185afJason Sams } 421721a5a24e2278f4012109865d62b98190b3185afJason Sams*/ 422721a5a24e2278f4012109865d62b98190b3185afJason Sams} 423