Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 717073a9 authored by Yu Shan Emily Lau's avatar Yu Shan Emily Lau Committed by Android Git Automerger
Browse files

am d2e2685b: am d175a75d: Merge "Instead of collecting the procmem output in...

am d2e2685b: 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 'd2e2685b':
  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.
parents de9e026f d2e2685b
Loading
Loading
Loading
Loading
+7 −1
Original line number Original line Diff line number Diff line
@@ -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;
        }

    }
    }
}
}
+34 −37
Original line number Original line Diff line number Diff line
@@ -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");


        if (MediaFrameworkPerfTestRunner.mGetProcmem) {
            mProcMemWriter = new BufferedWriter(new FileWriter
            mProcMemWriter = new BufferedWriter(new FileWriter
                    (new File(MEDIA_PROCMEM_OUTPUT), true));
                    (new File(MEDIA_PROCMEM_OUTPUT), true));
            mProcMemWriter.write(this.getName() + "\n");
            mProcMemWriter.write(this.getName() + "\n");
            mMemWriter = new BufferedWriter(new FileWriter
            mMemWriter = new BufferedWriter(new FileWriter
                    (new File(MEDIA_MEMORY_OUTPUT), true));
                    (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");

        if (MediaFrameworkPerfTestRunner.mGetProcmem) {
            mMemWriter.write("\n");
            mProcMemWriter.close();
            mProcMemWriter.close();
            mMemWriter.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();
        }
        }
@@ -286,6 +295,7 @@ public class MediaPlayerPerformance extends ActivityInstrumentationTestCase2<Med
    }
    }


    public void writeProcmemInfo() throws Exception {
    public void writeProcmemInfo() throws Exception {
        if (MediaFrameworkPerfTestRunner.mGetProcmem) {
            String cmd = "procmem " + getMediaserverPid();
            String cmd = "procmem " + getMediaserverPid();
            Process p = Runtime.getRuntime().exec(cmd);
            Process p = Runtime.getRuntime().exec(cmd);


@@ -299,6 +309,7 @@ public class MediaPlayerPerformance extends ActivityInstrumentationTestCase2<Med
            }
            }
            mProcMemWriter.write("\n\n");
            mProcMemWriter.write("\n\n");
        }
        }
    }


    public String captureMediaserverInfo() {
    public String captureMediaserverInfo() {
        String cm = "ps mediaserver";
        String cm = "ps mediaserver";
@@ -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);
    }
    }