diff options
Diffstat (limited to 'tests')
-rwxr-xr-x | tests/src/com/android/camera/StressTests.java | 2 | ||||
-rw-r--r-- | tests/src/com/android/camera/gallery/LruCacheUnitTests.java | 37 | ||||
-rwxr-xr-x | tests/src/com/android/camera/stress/CameraLatency.java | 48 |
3 files changed, 85 insertions, 2 deletions
diff --git a/tests/src/com/android/camera/StressTests.java b/tests/src/com/android/camera/StressTests.java index bd84256..1d83728 100755 --- a/tests/src/com/android/camera/StressTests.java +++ b/tests/src/com/android/camera/StressTests.java @@ -18,6 +18,7 @@ package com.android.camera; import com.android.camera.stress.ImageCapture; import com.android.camera.stress.SwitchPreview; +import com.android.camera.stress.CameraLatency; import junit.framework.Test; import junit.framework.TestSuite; @@ -37,6 +38,7 @@ public class StressTests extends TestSuite { TestSuite result = new TestSuite(); result.addTestSuite(SwitchPreview.class); result.addTestSuite(ImageCapture.class); + result.addTestSuite(CameraLatency.class); return result; } } diff --git a/tests/src/com/android/camera/gallery/LruCacheUnitTests.java b/tests/src/com/android/camera/gallery/LruCacheUnitTests.java new file mode 100644 index 0000000..f699724 --- /dev/null +++ b/tests/src/com/android/camera/gallery/LruCacheUnitTests.java @@ -0,0 +1,37 @@ +package com.android.camera.gallery; + +import android.test.AndroidTestCase; + +public class LruCacheUnitTests extends AndroidTestCase { + + public void testPut() { + LruCache<Integer, Integer> cache = new LruCache<Integer, Integer>(2); + Integer key = Integer.valueOf(1); + Integer value = Integer.valueOf(3); + cache.put(key, value); + assertEquals(value, cache.get(key)); + } + + public void testTracingInUsedObject() { + LruCache<Integer, Integer> cache = new LruCache<Integer, Integer>(2); + Integer key = Integer.valueOf(1); + Integer value = new Integer(3); + cache.put(key, value); + for (int i = 0; i < 3; ++i) { + cache.put(i + 10, i * i); + } + System.gc(); + assertEquals(value, cache.get(key)); + } + + public void testLruAlgorithm() { + LruCache<Integer, Integer> cache = new LruCache<Integer, Integer>(2); + cache.put(0, new Integer(0)); + for (int i = 0; i < 3; ++i) { + cache.put(i + 1, i * i); + cache.get(0); + } + System.gc(); + assertEquals(Integer.valueOf(0), cache.get(0)); + } +} diff --git a/tests/src/com/android/camera/stress/CameraLatency.java b/tests/src/com/android/camera/stress/CameraLatency.java index 4baaeb3..64e843b 100755 --- a/tests/src/com/android/camera/stress/CameraLatency.java +++ b/tests/src/com/android/camera/stress/CameraLatency.java @@ -31,9 +31,20 @@ import android.view.KeyEvent; public class CameraLatency extends ActivityInstrumentationTestCase2 <Camera> { private String TAG = "CameraLatency"; - private static final int TOTAL_NUMBER_OF_IMAGECAPTURE = 5; + private static final int TOTAL_NUMBER_OF_IMAGECAPTURE = 20; private static final long WAIT_FOR_IMAGE_CAPTURE_TO_BE_TAKEN = 3000; + private long mTotalAutoFocusTime; + private long mTotalShutterLag; + private long mTotalShutterAndRawPictureCallbackTime; + private long mTotalJpegPictureCallbackTimeLag; + private long mTotalRawPictureAndJpegPictureCallbackTime; + private long mAvgAutoFocusTime; + private long mAvgShutterLag = mTotalShutterLag; + private long mAvgShutterAndRawPictureCallbackTime; + private long mAveJpegPictureCallbackTimeLag; + private long mAvgRawPictureAndJpegPictureCallbackTime; + public CameraLatency() { super("com.android.camera", Camera.class); } @@ -58,11 +69,44 @@ public class CameraLatency extends ActivityInstrumentationTestCase2 <Camera> { inst.sendKeyDownUpSync(KeyEvent.KEYCODE_DPAD_UP); inst.sendKeyDownUpSync(KeyEvent.KEYCODE_DPAD_CENTER); Thread.sleep(WAIT_FOR_IMAGE_CAPTURE_TO_BE_TAKEN); + //skip the first measurement + if (i != 0) { + mTotalAutoFocusTime += Camera.mAutoFocusTime; + mTotalShutterLag += Camera.mShutterLag; + mTotalShutterAndRawPictureCallbackTime += + Camera.mShutterAndRawPictureCallbackTime; + mTotalJpegPictureCallbackTimeLag += Camera.mJpegPictureCallbackTimeLag; + mTotalRawPictureAndJpegPictureCallbackTime += + Camera.mRawPictureAndJpegPictureCallbackTime; + } } } catch (Exception e) { Log.v(TAG, e.toString()); } - assertTrue("testImageCapture", true); + //ToDO: yslau + //1) Need to get the baseline from the cupcake so that we can add the + //failure condition of the camera latency. + //2) Only count those number with succesful capture. Set the timer to invalid + //before capture and ignore them if the value is invalid + int numberofRun = TOTAL_NUMBER_OF_IMAGECAPTURE - 1; + mAvgAutoFocusTime = mTotalAutoFocusTime / numberofRun; + mAvgShutterLag = mTotalShutterLag / numberofRun; + mAvgShutterAndRawPictureCallbackTime = + mTotalShutterAndRawPictureCallbackTime / numberofRun; + mAveJpegPictureCallbackTimeLag = + mTotalJpegPictureCallbackTimeLag / numberofRun; + mAvgRawPictureAndJpegPictureCallbackTime = + mTotalRawPictureAndJpegPictureCallbackTime / numberofRun; + + Log.v(TAG, "Avg AutoFocus = " + mAvgAutoFocusTime); + Log.v(TAG, "Avg mShutterLag = " + mAvgShutterLag); + Log.v(TAG, "Avg mShutterAndRawPictureCallbackTime = " + + mAvgShutterAndRawPictureCallbackTime); + Log.v(TAG, "Avg mJpegPictureCallbackTimeLag = " + + mAveJpegPictureCallbackTimeLag); + Log.v(TAG, "Avg mRawPictureAndJpegPictureCallbackTime = " + + mAvgRawPictureAndJpegPictureCallbackTime); + assertTrue("testImageCapture", true); } } |