Merge "Instead of collecting the procmem output in the test, change it as optional. This is to avoid the tool breakage will block the whole memory test sutie." into jb-mr1-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
d175a75d9f
@@ -38,7 +38,7 @@ import android.util.Log;
|
|||||||
public class MediaFrameworkPerfTestRunner extends InstrumentationTestRunner {
|
public class MediaFrameworkPerfTestRunner extends InstrumentationTestRunner {
|
||||||
|
|
||||||
public static boolean mGetNativeHeapDump = false;
|
public static boolean mGetNativeHeapDump = false;
|
||||||
|
public static boolean mGetProcmem = false;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TestSuite getAllTests() {
|
public TestSuite getAllTests() {
|
||||||
@@ -61,6 +61,12 @@ public class MediaFrameworkPerfTestRunner extends InstrumentationTestRunner {
|
|||||||
if (get_heap_dump != null) {
|
if (get_heap_dump != null) {
|
||||||
mGetNativeHeapDump = true;
|
mGetNativeHeapDump = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
String get_procmem = (String) icicle.get("get_procmem");
|
||||||
|
if (get_procmem != null) {
|
||||||
|
mGetProcmem = true;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -100,6 +100,7 @@ public class MediaPlayerPerformance extends ActivityInstrumentationTestCase2<Med
|
|||||||
super("com.android.mediaframeworktest", MediaFrameworkTest.class);
|
super("com.android.mediaframeworktest", MediaFrameworkTest.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
protected void setUp() throws Exception {
|
protected void setUp() throws Exception {
|
||||||
super.setUp();
|
super.setUp();
|
||||||
//Insert a 2 second before launching the test activity. This is
|
//Insert a 2 second before launching the test activity. This is
|
||||||
@@ -109,19 +110,26 @@ public class MediaPlayerPerformance extends ActivityInstrumentationTestCase2<Med
|
|||||||
if (MediaFrameworkPerfTestRunner.mGetNativeHeapDump)
|
if (MediaFrameworkPerfTestRunner.mGetNativeHeapDump)
|
||||||
MediaTestUtil.getNativeHeapDump(this.getName() + "_before");
|
MediaTestUtil.getNativeHeapDump(this.getName() + "_before");
|
||||||
|
|
||||||
mProcMemWriter = new BufferedWriter(new FileWriter
|
if (MediaFrameworkPerfTestRunner.mGetProcmem) {
|
||||||
(new File(MEDIA_PROCMEM_OUTPUT), true));
|
mProcMemWriter = new BufferedWriter(new FileWriter
|
||||||
mProcMemWriter.write(this.getName() + "\n");
|
(new File(MEDIA_PROCMEM_OUTPUT), true));
|
||||||
mMemWriter = new BufferedWriter(new FileWriter
|
mProcMemWriter.write(this.getName() + "\n");
|
||||||
(new File(MEDIA_MEMORY_OUTPUT), true));
|
mMemWriter = new BufferedWriter(new FileWriter
|
||||||
|
(new File(MEDIA_MEMORY_OUTPUT), true));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
protected void tearDown() throws Exception {
|
protected void tearDown() throws Exception {
|
||||||
if (MediaFrameworkPerfTestRunner.mGetNativeHeapDump)
|
if (MediaFrameworkPerfTestRunner.mGetNativeHeapDump)
|
||||||
MediaTestUtil.getNativeHeapDump(this.getName() + "_after");
|
MediaTestUtil.getNativeHeapDump(this.getName() + "_after");
|
||||||
mProcMemWriter.close();
|
|
||||||
mMemWriter.close();
|
if (MediaFrameworkPerfTestRunner.mGetProcmem) {
|
||||||
|
mMemWriter.write("\n");
|
||||||
|
mProcMemWriter.close();
|
||||||
|
mMemWriter.close();
|
||||||
|
}
|
||||||
super.tearDown();
|
super.tearDown();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -157,6 +165,7 @@ public class MediaPlayerPerformance extends ActivityInstrumentationTestCase2<Med
|
|||||||
}
|
}
|
||||||
|
|
||||||
private final class RawPreviewCallback implements PreviewCallback {
|
private final class RawPreviewCallback implements PreviewCallback {
|
||||||
|
@Override
|
||||||
public void onPreviewFrame(byte[] rawData, Camera camera) {
|
public void onPreviewFrame(byte[] rawData, Camera camera) {
|
||||||
mPreviewDone.open();
|
mPreviewDone.open();
|
||||||
}
|
}
|
||||||
@@ -285,19 +294,21 @@ public class MediaPlayerPerformance extends ActivityInstrumentationTestCase2<Med
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void writeProcmemInfo() throws Exception{
|
public void writeProcmemInfo() throws Exception {
|
||||||
String cmd = "procmem " + getMediaserverPid();
|
if (MediaFrameworkPerfTestRunner.mGetProcmem) {
|
||||||
Process p = Runtime.getRuntime().exec(cmd);
|
String cmd = "procmem " + getMediaserverPid();
|
||||||
|
Process p = Runtime.getRuntime().exec(cmd);
|
||||||
|
|
||||||
InputStream inStream = p.getInputStream();
|
InputStream inStream = p.getInputStream();
|
||||||
InputStreamReader inReader = new InputStreamReader(inStream);
|
InputStreamReader inReader = new InputStreamReader(inStream);
|
||||||
BufferedReader inBuffer = new BufferedReader(inReader);
|
BufferedReader inBuffer = new BufferedReader(inReader);
|
||||||
String s;
|
String s;
|
||||||
while ((s = inBuffer.readLine()) != null) {
|
while ((s = inBuffer.readLine()) != null) {
|
||||||
mProcMemWriter.write(s);
|
mProcMemWriter.write(s);
|
||||||
mProcMemWriter.write("\n");
|
mProcMemWriter.write("\n");
|
||||||
|
}
|
||||||
|
mProcMemWriter.write("\n\n");
|
||||||
}
|
}
|
||||||
mProcMemWriter.write("\n\n");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public String captureMediaserverInfo() {
|
public String captureMediaserverInfo() {
|
||||||
@@ -368,13 +379,11 @@ public class MediaPlayerPerformance extends ActivityInstrumentationTestCase2<Med
|
|||||||
boolean memoryResult = false;
|
boolean memoryResult = false;
|
||||||
|
|
||||||
mStartPid = getMediaserverPid();
|
mStartPid = getMediaserverPid();
|
||||||
mMemWriter.write("H263 Video Playback Only\n");
|
|
||||||
for (int i = 0; i < NUM_STRESS_LOOP; i++) {
|
for (int i = 0; i < NUM_STRESS_LOOP; i++) {
|
||||||
mediaStressPlayback(MediaNames.VIDEO_HIGHRES_H263);
|
mediaStressPlayback(MediaNames.VIDEO_HIGHRES_H263);
|
||||||
getMemoryWriteToLog(i);
|
getMemoryWriteToLog(i);
|
||||||
writeProcmemInfo();
|
writeProcmemInfo();
|
||||||
}
|
}
|
||||||
mMemWriter.write("\n");
|
|
||||||
memoryResult = validateMemoryResult(mStartPid, mStartMemory, DECODER_LIMIT);
|
memoryResult = validateMemoryResult(mStartPid, mStartMemory, DECODER_LIMIT);
|
||||||
assertTrue("H263 playback memory test", memoryResult);
|
assertTrue("H263 playback memory test", memoryResult);
|
||||||
}
|
}
|
||||||
@@ -385,13 +394,11 @@ public class MediaPlayerPerformance extends ActivityInstrumentationTestCase2<Med
|
|||||||
boolean memoryResult = false;
|
boolean memoryResult = false;
|
||||||
|
|
||||||
mStartPid = getMediaserverPid();
|
mStartPid = getMediaserverPid();
|
||||||
mMemWriter.write("H264 Video Playback only\n");
|
|
||||||
for (int i = 0; i < NUM_STRESS_LOOP; i++) {
|
for (int i = 0; i < NUM_STRESS_LOOP; i++) {
|
||||||
mediaStressPlayback(MediaNames.VIDEO_H264_AMR);
|
mediaStressPlayback(MediaNames.VIDEO_H264_AMR);
|
||||||
getMemoryWriteToLog(i);
|
getMemoryWriteToLog(i);
|
||||||
writeProcmemInfo();
|
writeProcmemInfo();
|
||||||
}
|
}
|
||||||
mMemWriter.write("\n");
|
|
||||||
memoryResult = validateMemoryResult(mStartPid, mStartMemory, DECODER_LIMIT);
|
memoryResult = validateMemoryResult(mStartPid, mStartMemory, DECODER_LIMIT);
|
||||||
assertTrue("H264 playback memory test", memoryResult);
|
assertTrue("H264 playback memory test", memoryResult);
|
||||||
}
|
}
|
||||||
@@ -402,7 +409,6 @@ public class MediaPlayerPerformance extends ActivityInstrumentationTestCase2<Med
|
|||||||
boolean memoryResult = false;
|
boolean memoryResult = false;
|
||||||
|
|
||||||
mStartPid = getMediaserverPid();
|
mStartPid = getMediaserverPid();
|
||||||
mMemWriter.write("H263 video record only\n");
|
|
||||||
int frameRate = MediaProfileReader.getMaxFrameRateForCodec(MediaRecorder.VideoEncoder.H263);
|
int frameRate = MediaProfileReader.getMaxFrameRateForCodec(MediaRecorder.VideoEncoder.H263);
|
||||||
assertTrue("H263 video recording frame rate", frameRate != -1);
|
assertTrue("H263 video recording frame rate", frameRate != -1);
|
||||||
for (int i = 0; i < NUM_STRESS_LOOP; i++) {
|
for (int i = 0; i < NUM_STRESS_LOOP; i++) {
|
||||||
@@ -411,7 +417,6 @@ public class MediaPlayerPerformance extends ActivityInstrumentationTestCase2<Med
|
|||||||
getMemoryWriteToLog(i);
|
getMemoryWriteToLog(i);
|
||||||
writeProcmemInfo();
|
writeProcmemInfo();
|
||||||
}
|
}
|
||||||
mMemWriter.write("\n");
|
|
||||||
memoryResult = validateMemoryResult(mStartPid, mStartMemory, ENCODER_LIMIT);
|
memoryResult = validateMemoryResult(mStartPid, mStartMemory, ENCODER_LIMIT);
|
||||||
assertTrue("H263 record only memory test", memoryResult);
|
assertTrue("H263 record only memory test", memoryResult);
|
||||||
}
|
}
|
||||||
@@ -422,7 +427,6 @@ public class MediaPlayerPerformance extends ActivityInstrumentationTestCase2<Med
|
|||||||
boolean memoryResult = false;
|
boolean memoryResult = false;
|
||||||
|
|
||||||
mStartPid = getMediaserverPid();
|
mStartPid = getMediaserverPid();
|
||||||
mMemWriter.write("MPEG4 video record only\n");
|
|
||||||
int frameRate = MediaProfileReader.getMaxFrameRateForCodec(MediaRecorder.VideoEncoder.MPEG_4_SP);
|
int frameRate = MediaProfileReader.getMaxFrameRateForCodec(MediaRecorder.VideoEncoder.MPEG_4_SP);
|
||||||
assertTrue("MPEG4 video recording frame rate", frameRate != -1);
|
assertTrue("MPEG4 video recording frame rate", frameRate != -1);
|
||||||
for (int i = 0; i < NUM_STRESS_LOOP; i++) {
|
for (int i = 0; i < NUM_STRESS_LOOP; i++) {
|
||||||
@@ -431,7 +435,6 @@ public class MediaPlayerPerformance extends ActivityInstrumentationTestCase2<Med
|
|||||||
getMemoryWriteToLog(i);
|
getMemoryWriteToLog(i);
|
||||||
writeProcmemInfo();
|
writeProcmemInfo();
|
||||||
}
|
}
|
||||||
mMemWriter.write("\n");
|
|
||||||
memoryResult = validateMemoryResult(mStartPid, mStartMemory, ENCODER_LIMIT);
|
memoryResult = validateMemoryResult(mStartPid, mStartMemory, ENCODER_LIMIT);
|
||||||
assertTrue("mpeg4 record only memory test", memoryResult);
|
assertTrue("mpeg4 record only memory test", memoryResult);
|
||||||
}
|
}
|
||||||
@@ -445,14 +448,12 @@ public class MediaPlayerPerformance extends ActivityInstrumentationTestCase2<Med
|
|||||||
mStartPid = getMediaserverPid();
|
mStartPid = getMediaserverPid();
|
||||||
int frameRate = MediaProfileReader.getMaxFrameRateForCodec(MediaRecorder.VideoEncoder.H263);
|
int frameRate = MediaProfileReader.getMaxFrameRateForCodec(MediaRecorder.VideoEncoder.H263);
|
||||||
assertTrue("H263 video recording frame rate", frameRate != -1);
|
assertTrue("H263 video recording frame rate", frameRate != -1);
|
||||||
mMemWriter.write("Audio and h263 video record\n");
|
|
||||||
for (int i = 0; i < NUM_STRESS_LOOP; i++) {
|
for (int i = 0; i < NUM_STRESS_LOOP; i++) {
|
||||||
assertTrue(stressVideoRecord(frameRate, 352, 288, MediaRecorder.VideoEncoder.H263,
|
assertTrue(stressVideoRecord(frameRate, 352, 288, MediaRecorder.VideoEncoder.H263,
|
||||||
MediaRecorder.OutputFormat.MPEG_4, MediaNames.RECORDED_VIDEO_3GP, false));
|
MediaRecorder.OutputFormat.MPEG_4, MediaNames.RECORDED_VIDEO_3GP, false));
|
||||||
getMemoryWriteToLog(i);
|
getMemoryWriteToLog(i);
|
||||||
writeProcmemInfo();
|
writeProcmemInfo();
|
||||||
}
|
}
|
||||||
mMemWriter.write("\n");
|
|
||||||
memoryResult = validateMemoryResult(mStartPid, mStartMemory, ENCODER_LIMIT);
|
memoryResult = validateMemoryResult(mStartPid, mStartMemory, ENCODER_LIMIT);
|
||||||
assertTrue("H263 audio video record memory test", memoryResult);
|
assertTrue("H263 audio video record memory test", memoryResult);
|
||||||
}
|
}
|
||||||
@@ -463,13 +464,11 @@ public class MediaPlayerPerformance extends ActivityInstrumentationTestCase2<Med
|
|||||||
boolean memoryResult = false;
|
boolean memoryResult = false;
|
||||||
|
|
||||||
mStartPid = getMediaserverPid();
|
mStartPid = getMediaserverPid();
|
||||||
mMemWriter.write("Audio record only\n");
|
|
||||||
for (int i = 0; i < NUM_STRESS_LOOP; i++) {
|
for (int i = 0; i < NUM_STRESS_LOOP; i++) {
|
||||||
stressAudioRecord(MediaNames.RECORDER_OUTPUT);
|
stressAudioRecord(MediaNames.RECORDER_OUTPUT);
|
||||||
getMemoryWriteToLog(i);
|
getMemoryWriteToLog(i);
|
||||||
writeProcmemInfo();
|
writeProcmemInfo();
|
||||||
}
|
}
|
||||||
mMemWriter.write("\n");
|
|
||||||
memoryResult = validateMemoryResult(mStartPid, mStartMemory, ENCODER_LIMIT);
|
memoryResult = validateMemoryResult(mStartPid, mStartMemory, ENCODER_LIMIT);
|
||||||
assertTrue("audio record only memory test", memoryResult);
|
assertTrue("audio record only memory test", memoryResult);
|
||||||
}
|
}
|
||||||
@@ -480,13 +479,11 @@ public class MediaPlayerPerformance extends ActivityInstrumentationTestCase2<Med
|
|||||||
boolean memoryResult = false;
|
boolean memoryResult = false;
|
||||||
|
|
||||||
mStartPid = getMediaserverPid();
|
mStartPid = getMediaserverPid();
|
||||||
mMemWriter.write("Camera Preview Only\n");
|
|
||||||
for (int i = 0; i < NUM_STRESS_LOOP; i++) {
|
for (int i = 0; i < NUM_STRESS_LOOP; i++) {
|
||||||
stressCameraPreview();
|
stressCameraPreview();
|
||||||
getMemoryWriteToLog(i);
|
getMemoryWriteToLog(i);
|
||||||
writeProcmemInfo();
|
writeProcmemInfo();
|
||||||
}
|
}
|
||||||
mMemWriter.write("\n");
|
|
||||||
memoryResult = validateMemoryResult(mStartPid, mStartMemory, CAMERA_LIMIT);
|
memoryResult = validateMemoryResult(mStartPid, mStartMemory, CAMERA_LIMIT);
|
||||||
assertTrue("camera preview memory test", memoryResult);
|
assertTrue("camera preview memory test", memoryResult);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user