diff options
| author | 2019-04-30 18:34:42 -0700 | |
|---|---|---|
| committer | 2019-05-23 20:20:07 +0000 | |
| commit | dec6989bbf084bb54a0e36d3a0ad1b19223d4426 (patch) | |
| tree | 5d943dcc1fa0042af00c59dc94f5958820f0f8f3 | |
| parent | a578ecce46981fb60cb68dc95b1f5275bcea08f0 (diff) | |
Modified camera framework stress tests.
Bug:130821349
Test: local run pass
'adb shell am instrument -w -r -e waitIntervalMs 1000 -e timeout_msec
7200000 -e iterations 1 -e class
'com.android.mediaframeworktest.stress.Camera2RecordingTest#testBasicRecording'
com.android.mediaframeworktest/androidx.test.runner.AndroidJUnitRunner'
Change-Id: I2c2d84babd229b49cddeaf913d8e027189f2cbf6
(cherry picked from commit 909962d7edd765b9e6d080a839f0e465a5e1cd76)
5 files changed, 83 insertions, 77 deletions
diff --git a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/Camera2SurfaceViewTestCase.java b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/Camera2SurfaceViewTestCase.java index a8b782e84659..dc43b9ae9d17 100644 --- a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/Camera2SurfaceViewTestCase.java +++ b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/Camera2SurfaceViewTestCase.java @@ -16,15 +16,17 @@ package com.android.mediaframeworktest; -import com.android.ex.camera2.blocking.BlockingSessionCallback; -import com.android.ex.camera2.blocking.BlockingStateCallback; -import com.android.ex.camera2.exceptions.TimeoutRuntimeException; -import com.android.mediaframeworktest.helpers.CameraErrorCollector; -import com.android.mediaframeworktest.helpers.CameraTestResultPrinter; -import com.android.mediaframeworktest.helpers.CameraTestUtils; -import com.android.mediaframeworktest.helpers.CameraTestUtils.SimpleCaptureCallback; -import com.android.mediaframeworktest.helpers.StaticMetadata; -import com.android.mediaframeworktest.helpers.StaticMetadata.CheckLevel; +import static com.android.ex.camera2.blocking.BlockingStateCallback.STATE_CLOSED; +import static com.android.mediaframeworktest.helpers.CameraTestUtils.CAMERA_CLOSE_TIMEOUT_MS; +import static com.android.mediaframeworktest.helpers.CameraTestUtils.MAX_READER_IMAGES; +import static com.android.mediaframeworktest.helpers.CameraTestUtils.PREVIEW_SIZE_BOUND; +import static com.android.mediaframeworktest.helpers.CameraTestUtils.configureCameraSession; +import static com.android.mediaframeworktest.helpers.CameraTestUtils.getPreviewSizeBound; +import static com.android.mediaframeworktest.helpers.CameraTestUtils.getSortedSizesForFormat; +import static com.android.mediaframeworktest.helpers.CameraTestUtils.getSupportedPreviewSizes; +import static com.android.mediaframeworktest.helpers.CameraTestUtils.getSupportedStillSizes; +import static com.android.mediaframeworktest.helpers.CameraTestUtils.getSupportedVideoSizes; +import static com.android.mediaframeworktest.helpers.CameraTestUtils.makeImageReader; import android.content.Context; import android.graphics.ImageFormat; @@ -39,14 +41,11 @@ import android.hardware.camera2.CaptureRequest; import android.hardware.camera2.CaptureResult; import android.hardware.camera2.params.StreamConfigurationMap; import android.media.ImageReader; -import android.graphics.SurfaceTexture; import android.os.Bundle; -import android.os.Environment; import android.os.Handler; import android.os.HandlerThread; import android.os.Looper; import android.test.ActivityInstrumentationTestCase2; -import android.test.InstrumentationTestRunner; import android.util.Log; import android.util.Range; import android.util.Size; @@ -54,24 +53,24 @@ import android.view.Surface; import android.view.SurfaceHolder; import android.view.WindowManager; +import androidx.test.InstrumentationRegistry; + +import com.android.ex.camera2.blocking.BlockingSessionCallback; +import com.android.ex.camera2.blocking.BlockingStateCallback; +import com.android.ex.camera2.exceptions.TimeoutRuntimeException; +import com.android.mediaframeworktest.helpers.CameraErrorCollector; +import com.android.mediaframeworktest.helpers.CameraTestResultPrinter; +import com.android.mediaframeworktest.helpers.CameraTestUtils; +import com.android.mediaframeworktest.helpers.CameraTestUtils.SimpleCaptureCallback; +import com.android.mediaframeworktest.helpers.StaticMetadata; +import com.android.mediaframeworktest.helpers.StaticMetadata.CheckLevel; + import java.text.NumberFormat; import java.text.ParseException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; -import static com.android.ex.camera2.blocking.BlockingStateCallback.STATE_CLOSED; -import static com.android.mediaframeworktest.helpers.CameraTestUtils.CAMERA_CLOSE_TIMEOUT_MS; -import static com.android.mediaframeworktest.helpers.CameraTestUtils.MAX_READER_IMAGES; -import static com.android.mediaframeworktest.helpers.CameraTestUtils.PREVIEW_SIZE_BOUND; -import static com.android.mediaframeworktest.helpers.CameraTestUtils.configureCameraSession; -import static com.android.mediaframeworktest.helpers.CameraTestUtils.getPreviewSizeBound; -import static com.android.mediaframeworktest.helpers.CameraTestUtils.getSupportedPreviewSizes; -import static com.android.mediaframeworktest.helpers.CameraTestUtils.getSupportedStillSizes; -import static com.android.mediaframeworktest.helpers.CameraTestUtils.getSupportedVideoSizes; -import static com.android.mediaframeworktest.helpers.CameraTestUtils.getSortedSizesForFormat; -import static com.android.mediaframeworktest.helpers.CameraTestUtils.makeImageReader; - /** * Camera2 Preview test case base class by using SurfaceView as rendering target. * @@ -98,8 +97,9 @@ public class Camera2SurfaceViewTestCase extends protected static final String ARG_KEY_RESULT_TO_FILE = "resultToFile"; // TODO: Use internal storage for this to make sure the file is only visible to test. - protected static final String DEBUG_FILE_NAME_BASE = - Environment.getExternalStorageDirectory().getPath(); + protected static final String DEBUG_FILE_NAME_BASE = InstrumentationRegistry + .getInstrumentation().getTargetContext() + .getExternalFilesDir(null).getPath(); protected static final int WAIT_FOR_RESULT_TIMEOUT_MS = 3000; protected static final float FRAME_DURATION_ERROR_MARGIN = 0.005f; // 0.5 percent error margin. protected static final int NUM_RESULTS_WAIT_TIMEOUT = 100; @@ -779,7 +779,7 @@ public class Camera2SurfaceViewTestCase extends //-------------------------------------------------------------------------------- protected Bundle getArguments() { - return ((InstrumentationTestRunner)getInstrumentation()).getArguments(); + return InstrumentationRegistry.getArguments(); } protected <E extends Number> Number getArgumentsAsNumber(String key, E defaultValue) { diff --git a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/helpers/CameraTestResultPrinter.java b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/helpers/CameraTestResultPrinter.java index ed2eebf88665..a1fc6c2bd331 100644 --- a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/helpers/CameraTestResultPrinter.java +++ b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/helpers/CameraTestResultPrinter.java @@ -18,9 +18,10 @@ package com.android.mediaframeworktest.helpers; import android.app.Instrumentation; import android.os.Bundle; -import android.os.Environment; import android.util.Log; +import androidx.test.InstrumentationRegistry; + import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; @@ -28,8 +29,9 @@ import java.io.FileWriter; public class CameraTestResultPrinter { private static final String TAG = CameraTestResultPrinter.class.getSimpleName(); - private static final String RESULT_DIR = Environment.getExternalStorageDirectory() + - "/camera-out/"; + private static final String RESULT_DIR = InstrumentationRegistry + .getInstrumentation().getTargetContext() + .getExternalFilesDir(null).getPath() + "/camera-out/"; private static final String RESULT_FILE_FORMAT = "fwk-stress_camera_%s.txt"; private static final String RESULT_SWAP_FILE = "fwk-stress.swp"; private static final String KEY_NUM_ATTEMPTS = "numAttempts"; // Total number of iterations diff --git a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/stress/Camera2CaptureRequestTest.java b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/stress/Camera2CaptureRequestTest.java index ebfd92eec073..31b79677f9ff 100644 --- a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/stress/Camera2CaptureRequestTest.java +++ b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/stress/Camera2CaptureRequestTest.java @@ -16,8 +16,13 @@ package com.android.mediaframeworktest.stress; -import com.android.mediaframeworktest.Camera2SurfaceViewTestCase; -import com.android.mediaframeworktest.helpers.CameraTestUtils.SimpleCaptureCallback; +import static android.hardware.camera2.CameraCharacteristics.CONTROL_AE_MODE_OFF; +import static android.hardware.camera2.CameraCharacteristics.CONTROL_AE_MODE_ON; +import static android.hardware.camera2.CameraCharacteristics.CONTROL_AE_MODE_ON_ALWAYS_FLASH; +import static android.hardware.camera2.CameraCharacteristics.CONTROL_AE_MODE_ON_AUTO_FLASH; +import static android.hardware.camera2.CameraCharacteristics.CONTROL_AE_MODE_ON_AUTO_FLASH_REDEYE; + +import static com.android.mediaframeworktest.helpers.CameraTestUtils.getValueNotNull; import android.hardware.camera2.CameraCharacteristics; import android.hardware.camera2.CameraDevice; @@ -26,14 +31,10 @@ import android.hardware.camera2.CaptureResult; import android.util.Log; import android.util.Size; -import java.util.Arrays; +import com.android.mediaframeworktest.Camera2SurfaceViewTestCase; +import com.android.mediaframeworktest.helpers.CameraTestUtils.SimpleCaptureCallback; -import static android.hardware.camera2.CameraCharacteristics.CONTROL_AE_MODE_OFF; -import static android.hardware.camera2.CameraCharacteristics.CONTROL_AE_MODE_ON; -import static android.hardware.camera2.CameraCharacteristics.CONTROL_AE_MODE_ON_ALWAYS_FLASH; -import static android.hardware.camera2.CameraCharacteristics.CONTROL_AE_MODE_ON_AUTO_FLASH; -import static android.hardware.camera2.CameraCharacteristics.CONTROL_AE_MODE_ON_AUTO_FLASH_REDEYE; -import static com.android.mediaframeworktest.helpers.CameraTestUtils.getValueNotNull; +import java.util.Arrays; /** * <p> @@ -49,7 +50,7 @@ import static com.android.mediaframeworktest.helpers.CameraTestUtils.getValueNot * -e iterations 10 \ * -e waitIntervalMs 1000 \ * -e resultToFile false \ - * -r -w com.android.mediaframeworktest/.Camera2InstrumentationTestRunner + * -r -w com.android.mediaframeworktest/androidx.test.runner.AndroidJUnitRunner */ public class Camera2CaptureRequestTest extends Camera2SurfaceViewTestCase { private static final String TAG = "CaptureRequestTest"; diff --git a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/stress/Camera2RecordingTest.java b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/stress/Camera2RecordingTest.java index 8f27fefca0d0..6a4db5791d5c 100644 --- a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/stress/Camera2RecordingTest.java +++ b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/stress/Camera2RecordingTest.java @@ -16,11 +16,17 @@ package com.android.mediaframeworktest.stress; -import com.android.ex.camera2.blocking.BlockingSessionCallback; -import com.android.mediaframeworktest.Camera2SurfaceViewTestCase; -import com.android.mediaframeworktest.helpers.CameraTestUtils; - -import junit.framework.AssertionFailedError; +import static com.android.ex.camera2.blocking.BlockingSessionCallback.SESSION_CLOSED; +import static com.android.mediaframeworktest.helpers.CameraTestUtils.CAPTURE_IMAGE_TIMEOUT_MS; +import static com.android.mediaframeworktest.helpers.CameraTestUtils.SESSION_CLOSE_TIMEOUT_MS; +import static com.android.mediaframeworktest.helpers.CameraTestUtils.SIZE_BOUND_1080P; +import static com.android.mediaframeworktest.helpers.CameraTestUtils.SIZE_BOUND_2160P; +import static com.android.mediaframeworktest.helpers.CameraTestUtils.SimpleCaptureCallback; +import static com.android.mediaframeworktest.helpers.CameraTestUtils.SimpleImageReaderListener; +import static com.android.mediaframeworktest.helpers.CameraTestUtils.configureCameraSession; +import static com.android.mediaframeworktest.helpers.CameraTestUtils.configureCameraSessionWithParameters; +import static com.android.mediaframeworktest.helpers.CameraTestUtils.getSupportedVideoSizes; +import static com.android.mediaframeworktest.helpers.CameraTestUtils.getValueNotNull; import android.graphics.ImageFormat; import android.hardware.camera2.CameraCaptureSession; @@ -36,7 +42,6 @@ import android.media.ImageReader; import android.media.MediaExtractor; import android.media.MediaFormat; import android.media.MediaRecorder; -import android.os.Environment; import android.os.SystemClock; import android.test.suitebuilder.annotation.LargeTest; import android.util.Log; @@ -44,24 +49,20 @@ import android.util.Range; import android.util.Size; import android.view.Surface; +import androidx.test.InstrumentationRegistry; + +import com.android.ex.camera2.blocking.BlockingSessionCallback; +import com.android.mediaframeworktest.Camera2SurfaceViewTestCase; +import com.android.mediaframeworktest.helpers.CameraTestUtils; + +import junit.framework.AssertionFailedError; + import java.io.File; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.List; -import static com.android.ex.camera2.blocking.BlockingSessionCallback.SESSION_CLOSED; -import static com.android.mediaframeworktest.helpers.CameraTestUtils.CAPTURE_IMAGE_TIMEOUT_MS; -import static com.android.mediaframeworktest.helpers.CameraTestUtils.SESSION_CLOSE_TIMEOUT_MS; -import static com.android.mediaframeworktest.helpers.CameraTestUtils.SIZE_BOUND_1080P; -import static com.android.mediaframeworktest.helpers.CameraTestUtils.SIZE_BOUND_2160P; -import static com.android.mediaframeworktest.helpers.CameraTestUtils.SimpleCaptureCallback; -import static com.android.mediaframeworktest.helpers.CameraTestUtils.SimpleImageReaderListener; -import static com.android.mediaframeworktest.helpers.CameraTestUtils.configureCameraSession; -import static com.android.mediaframeworktest.helpers.CameraTestUtils.configureCameraSessionWithParameters; -import static com.android.mediaframeworktest.helpers.CameraTestUtils.getSupportedVideoSizes; -import static com.android.mediaframeworktest.helpers.CameraTestUtils.getValueNotNull; - /** * CameraDevice video recording use case tests by using MediaRecorder and * MediaCodec. @@ -71,7 +72,7 @@ import static com.android.mediaframeworktest.helpers.CameraTestUtils.getValueNot * -e iterations 10 \ * -e waitIntervalMs 1000 \ * -e resultToFile false \ - * -r -w com.android.mediaframeworktest/.Camera2InstrumentationTestRunner + * -r -w com.android.mediaframeworktest/androidx.test.runner.AndroidJUnitRunner */ @LargeTest public class Camera2RecordingTest extends Camera2SurfaceViewTestCase { @@ -85,7 +86,9 @@ public class Camera2RecordingTest extends Camera2SurfaceViewTestCase { private static final int BIT_RATE_MIN = 64000; private static final int BIT_RATE_MAX = 40000000; private static final int VIDEO_FRAME_RATE = 30; - private final String VIDEO_FILE_PATH = Environment.getExternalStorageDirectory().getPath(); + private static final String VIDEO_FILE_PATH = InstrumentationRegistry + .getInstrumentation().getTargetContext() + .getExternalFilesDir(null).getPath(); private static final int[] mCamcorderProfileList = { CamcorderProfile.QUALITY_HIGH, CamcorderProfile.QUALITY_2160P, diff --git a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/stress/Camera2StillCaptureTest.java b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/stress/Camera2StillCaptureTest.java index 812543b3fe41..f7373f7b68db 100644 --- a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/stress/Camera2StillCaptureTest.java +++ b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/stress/Camera2StillCaptureTest.java @@ -16,12 +16,15 @@ package com.android.mediaframeworktest.stress; -import com.android.ex.camera2.blocking.BlockingSessionCallback; -import com.android.ex.camera2.exceptions.TimeoutRuntimeException; -import com.android.mediaframeworktest.Camera2SurfaceViewTestCase; -import com.android.mediaframeworktest.helpers.Camera2Focuser; -import com.android.mediaframeworktest.helpers.CameraTestUtils; -import com.android.mediaframeworktest.helpers.CameraTestUtils.SimpleCaptureCallback; +import static com.android.mediaframeworktest.helpers.CameraTestUtils.CAPTURE_IMAGE_TIMEOUT_MS; +import static com.android.mediaframeworktest.helpers.CameraTestUtils.MAX_READER_IMAGES; +import static com.android.mediaframeworktest.helpers.CameraTestUtils.SimpleImageReaderListener; +import static com.android.mediaframeworktest.helpers.CameraTestUtils.basicValidateJpegImage; +import static com.android.mediaframeworktest.helpers.CameraTestUtils.configureCameraSession; +import static com.android.mediaframeworktest.helpers.CameraTestUtils.dumpFile; +import static com.android.mediaframeworktest.helpers.CameraTestUtils.getDataFromImage; +import static com.android.mediaframeworktest.helpers.CameraTestUtils.getValueNotNull; +import static com.android.mediaframeworktest.helpers.CameraTestUtils.makeImageReader; import android.graphics.ImageFormat; import android.graphics.Point; @@ -40,20 +43,17 @@ import android.util.Rational; import android.util.Size; import android.view.Surface; +import com.android.ex.camera2.blocking.BlockingSessionCallback; +import com.android.ex.camera2.exceptions.TimeoutRuntimeException; +import com.android.mediaframeworktest.Camera2SurfaceViewTestCase; +import com.android.mediaframeworktest.helpers.Camera2Focuser; +import com.android.mediaframeworktest.helpers.CameraTestUtils; +import com.android.mediaframeworktest.helpers.CameraTestUtils.SimpleCaptureCallback; + import java.io.ByteArrayOutputStream; import java.util.ArrayList; import java.util.List; -import static com.android.mediaframeworktest.helpers.CameraTestUtils.CAPTURE_IMAGE_TIMEOUT_MS; -import static com.android.mediaframeworktest.helpers.CameraTestUtils.MAX_READER_IMAGES; -import static com.android.mediaframeworktest.helpers.CameraTestUtils.SimpleImageReaderListener; -import static com.android.mediaframeworktest.helpers.CameraTestUtils.basicValidateJpegImage; -import static com.android.mediaframeworktest.helpers.CameraTestUtils.configureCameraSession; -import static com.android.mediaframeworktest.helpers.CameraTestUtils.dumpFile; -import static com.android.mediaframeworktest.helpers.CameraTestUtils.getDataFromImage; -import static com.android.mediaframeworktest.helpers.CameraTestUtils.getValueNotNull; -import static com.android.mediaframeworktest.helpers.CameraTestUtils.makeImageReader; - /** * <p>Tests for still capture API.</p> * @@ -62,7 +62,7 @@ import static com.android.mediaframeworktest.helpers.CameraTestUtils.makeImageRe * -e iterations 200 \ * -e waitIntervalMs 1000 \ * -e resultToFile false \ - * -r -w com.android.mediaframeworktest/.Camera2InstrumentationTestRunner + * -r -w com.android.mediaframeworktest/androidx.test.runner.AndroidJUnitRunner */ public class Camera2StillCaptureTest extends Camera2SurfaceViewTestCase { private static final String TAG = "StillCaptureTest"; |