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

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

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

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 'd175a75d':
  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 d849afb1 d175a75d
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -38,7 +38,7 @@ import android.util.Log;
public class MediaFrameworkPerfTestRunner extends InstrumentationTestRunner {

    public static boolean mGetNativeHeapDump = false;

    public static boolean mGetProcmem = false;

    @Override
    public TestSuite getAllTests() {
@@ -61,6 +61,12 @@ public class MediaFrameworkPerfTestRunner extends InstrumentationTestRunner {
        if (get_heap_dump != null) {
            mGetNativeHeapDump = true;
        }

        String get_procmem = (String) icicle.get("get_procmem");
        if (get_procmem != null) {
            mGetProcmem = true;
        }

    }
}
+34 −37
Original line number Diff line number Diff line
@@ -100,6 +100,7 @@ public class MediaPlayerPerformance extends ActivityInstrumentationTestCase2<Med
        super("com.android.mediaframeworktest", MediaFrameworkTest.class);
    }

    @Override
    protected void setUp() throws Exception {
        super.setUp();
        //Insert a 2 second before launching the test activity. This is
@@ -109,19 +110,26 @@ public class MediaPlayerPerformance extends ActivityInstrumentationTestCase2<Med
        if (MediaFrameworkPerfTestRunner.mGetNativeHeapDump)
            MediaTestUtil.getNativeHeapDump(this.getName() + "_before");

        if (MediaFrameworkPerfTestRunner.mGetProcmem) {
            mProcMemWriter = new BufferedWriter(new FileWriter
                    (new File(MEDIA_PROCMEM_OUTPUT), true));
            mProcMemWriter.write(this.getName() + "\n");
            mMemWriter = new BufferedWriter(new FileWriter
                    (new File(MEDIA_MEMORY_OUTPUT), true));
        }

    }

    @Override
    protected void tearDown() throws Exception {
        if (MediaFrameworkPerfTestRunner.mGetNativeHeapDump)
            MediaTestUtil.getNativeHeapDump(this.getName() + "_after");

        if (MediaFrameworkPerfTestRunner.mGetProcmem) {
            mMemWriter.write("\n");
            mProcMemWriter.close();
            mMemWriter.close();
        }
        super.tearDown();
    }

@@ -157,6 +165,7 @@ public class MediaPlayerPerformance extends ActivityInstrumentationTestCase2<Med
    }

    private final class RawPreviewCallback implements PreviewCallback {
        @Override
        public void onPreviewFrame(byte[] rawData, Camera camera) {
            mPreviewDone.open();
        }
@@ -286,6 +295,7 @@ public class MediaPlayerPerformance extends ActivityInstrumentationTestCase2<Med
    }

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

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

    public String captureMediaserverInfo() {
        String cm = "ps mediaserver";
@@ -368,13 +379,11 @@ public class MediaPlayerPerformance extends ActivityInstrumentationTestCase2<Med
        boolean memoryResult = false;

        mStartPid = getMediaserverPid();
        mMemWriter.write("H263 Video Playback Only\n");
        for (int i = 0; i < NUM_STRESS_LOOP; i++) {
            mediaStressPlayback(MediaNames.VIDEO_HIGHRES_H263);
            getMemoryWriteToLog(i);
            writeProcmemInfo();
        }
        mMemWriter.write("\n");
        memoryResult = validateMemoryResult(mStartPid, mStartMemory, DECODER_LIMIT);
        assertTrue("H263 playback memory test", memoryResult);
    }
@@ -385,13 +394,11 @@ public class MediaPlayerPerformance extends ActivityInstrumentationTestCase2<Med
        boolean memoryResult = false;

        mStartPid = getMediaserverPid();
        mMemWriter.write("H264 Video Playback only\n");
        for (int i = 0; i < NUM_STRESS_LOOP; i++) {
            mediaStressPlayback(MediaNames.VIDEO_H264_AMR);
            getMemoryWriteToLog(i);
            writeProcmemInfo();
        }
        mMemWriter.write("\n");
        memoryResult = validateMemoryResult(mStartPid, mStartMemory, DECODER_LIMIT);
        assertTrue("H264 playback memory test", memoryResult);
    }
@@ -402,7 +409,6 @@ public class MediaPlayerPerformance extends ActivityInstrumentationTestCase2<Med
        boolean memoryResult = false;

        mStartPid = getMediaserverPid();
        mMemWriter.write("H263 video record only\n");
        int frameRate = MediaProfileReader.getMaxFrameRateForCodec(MediaRecorder.VideoEncoder.H263);
        assertTrue("H263 video recording frame rate", frameRate != -1);
        for (int i = 0; i < NUM_STRESS_LOOP; i++) {
@@ -411,7 +417,6 @@ public class MediaPlayerPerformance extends ActivityInstrumentationTestCase2<Med
            getMemoryWriteToLog(i);
            writeProcmemInfo();
        }
        mMemWriter.write("\n");
        memoryResult = validateMemoryResult(mStartPid, mStartMemory, ENCODER_LIMIT);
        assertTrue("H263 record only memory test", memoryResult);
    }
@@ -422,7 +427,6 @@ public class MediaPlayerPerformance extends ActivityInstrumentationTestCase2<Med
        boolean memoryResult = false;

        mStartPid = getMediaserverPid();
        mMemWriter.write("MPEG4 video record only\n");
        int frameRate = MediaProfileReader.getMaxFrameRateForCodec(MediaRecorder.VideoEncoder.MPEG_4_SP);
        assertTrue("MPEG4 video recording frame rate", frameRate != -1);
        for (int i = 0; i < NUM_STRESS_LOOP; i++) {
@@ -431,7 +435,6 @@ public class MediaPlayerPerformance extends ActivityInstrumentationTestCase2<Med
            getMemoryWriteToLog(i);
            writeProcmemInfo();
        }
        mMemWriter.write("\n");
        memoryResult = validateMemoryResult(mStartPid, mStartMemory, ENCODER_LIMIT);
        assertTrue("mpeg4 record only memory test", memoryResult);
    }
@@ -445,14 +448,12 @@ public class MediaPlayerPerformance extends ActivityInstrumentationTestCase2<Med
        mStartPid = getMediaserverPid();
        int frameRate = MediaProfileReader.getMaxFrameRateForCodec(MediaRecorder.VideoEncoder.H263);
        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++) {
            assertTrue(stressVideoRecord(frameRate, 352, 288, MediaRecorder.VideoEncoder.H263,
                    MediaRecorder.OutputFormat.MPEG_4, MediaNames.RECORDED_VIDEO_3GP, false));
            getMemoryWriteToLog(i);
            writeProcmemInfo();
        }
        mMemWriter.write("\n");
        memoryResult = validateMemoryResult(mStartPid, mStartMemory, ENCODER_LIMIT);
        assertTrue("H263 audio video record memory test", memoryResult);
    }
@@ -463,13 +464,11 @@ public class MediaPlayerPerformance extends ActivityInstrumentationTestCase2<Med
        boolean memoryResult = false;

        mStartPid = getMediaserverPid();
        mMemWriter.write("Audio record only\n");
        for (int i = 0; i < NUM_STRESS_LOOP; i++) {
            stressAudioRecord(MediaNames.RECORDER_OUTPUT);
            getMemoryWriteToLog(i);
            writeProcmemInfo();
        }
        mMemWriter.write("\n");
        memoryResult = validateMemoryResult(mStartPid, mStartMemory, ENCODER_LIMIT);
        assertTrue("audio record only memory test", memoryResult);
    }
@@ -480,13 +479,11 @@ public class MediaPlayerPerformance extends ActivityInstrumentationTestCase2<Med
        boolean memoryResult = false;

        mStartPid = getMediaserverPid();
        mMemWriter.write("Camera Preview Only\n");
        for (int i = 0; i < NUM_STRESS_LOOP; i++) {
            stressCameraPreview();
            getMemoryWriteToLog(i);
            writeProcmemInfo();
        }
        mMemWriter.write("\n");
        memoryResult = validateMemoryResult(mStartPid, mStartMemory, CAMERA_LIMIT);
        assertTrue("camera preview memory test", memoryResult);
    }