am d175a75d: 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
* commit 'd175a75d9f4d0b0d32db8ccaeead935687072605': 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.
This commit is contained in:
@@ -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