summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rwxr-xr-xtests/src/com/android/camera/StressTests.java2
-rw-r--r--tests/src/com/android/camera/gallery/LruCacheUnitTests.java37
-rwxr-xr-xtests/src/com/android/camera/stress/CameraLatency.java48
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);
}
}