From bac8666893ee6d0074db7fa7f995de04598013b1 Mon Sep 17 00:00:00 2001 From: Jason Noguchi Date: Mon, 10 Dec 2012 17:05:32 -0800 Subject: Adding camera scene mode stress test. Change-Id: I3f9afef4edc6ea1f659263bf2dbd8ca247039ce0 --- .../stress/CameraStressTest.java | 189 +++++++++++++++------ 1 file changed, 135 insertions(+), 54 deletions(-) diff --git a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/stress/CameraStressTest.java b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/stress/CameraStressTest.java index ab9e36c..ed1d8fc 100644 --- a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/stress/CameraStressTest.java +++ b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/stress/CameraStressTest.java @@ -28,6 +28,7 @@ import java.io.IOException; import java.io.Writer; import java.util.concurrent.Semaphore; import java.util.concurrent.TimeUnit; +import java.util.List; import android.hardware.Camera; import android.hardware.Camera.PictureCallback; @@ -44,7 +45,7 @@ import com.android.mediaframeworktest.CameraStressTestRunner; import junit.framework.Assert; /** - * Junit / Instrumentation test case for the camera zoom api + * Junit / Instrumentation test case for the camera zoom and scene mode APIs * * adb shell am instrument * -e class com.android.mediaframeworktest.stress.CameraStressTest @@ -54,18 +55,22 @@ public class CameraStressTest extends ActivityInstrumentationTestCase2 supportedSceneModes = params.getSupportedSceneModes(); + assertNotNull("No scene modes supported", supportedSceneModes); + + mOutput.write("Total number of loops: " + + (NUMBER_OF_SCENE_MODE_LOOPS * supportedSceneModes.size()) + "\n"); + Log.v(TAG, "Start preview"); + mOutput.write("No of loop: "); + + for (int i = 0; i < supportedSceneModes.size(); i++) { + for (int j = 0; j < NUMBER_OF_SCENE_MODE_LOOPS; j++) { + runOnLooper(new Runnable() { + @Override + public void run() { + mCamera = Camera.open(CAMERA_ID); + } + }); + + startCameraPreview(mSurfaceHolder); + Log.v(TAG, "Setting mode to " + supportedSceneModes.get(i)); + params.setSceneMode(supportedSceneModes.get(i)); + mCamera.setParameters(params); + capturePhoto(); + + if ((i == 0) && (j == 0)) { + mOutput.write(Integer.toString(j + i * NUMBER_OF_SCENE_MODE_LOOPS)); + } else { + mOutput.write(", " + (j + i * NUMBER_OF_SCENE_MODE_LOOPS)); + } + } + } + cleanupStressTestImages(); + } catch (Exception e) { + Log.e(TAG, e.toString()); + fail("Camera scene mode test Exception"); } - output.write("\n\n"); - output.close(); } } -- cgit v1.1