diff options
author | Yu Shan Emily Lau <yslau@google.com> | 2012-10-09 19:12:46 -0700 |
---|---|---|
committer | Yu Shan Emily Lau <yslau@google.com> | 2012-10-09 19:12:46 -0700 |
commit | 2ffd20753e9c187c057b2b8f1e65cfddc901c8e9 (patch) | |
tree | 3b09f9de946019f23c230a4e98b2829b52e8e8f5 /media/tests/MediaFrameworkTest | |
parent | ebf7e2851cab55348153fca299c52042b125924d (diff) | |
download | frameworks_base-2ffd20753e9c187c057b2b8f1e65cfddc901c8e9.zip frameworks_base-2ffd20753e9c187c057b2b8f1e65cfddc901c8e9.tar.gz frameworks_base-2ffd20753e9c187c057b2b8f1e65cfddc901c8e9.tar.bz2 |
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.
Change-Id: Ia7425531ca2151230d7fd98eb710f282e166b4f7
Diffstat (limited to 'media/tests/MediaFrameworkTest')
2 files changed, 41 insertions, 38 deletions
diff --git a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/MediaFrameworkPerfTestRunner.java b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/MediaFrameworkPerfTestRunner.java index a6cf355..3d5905d 100755 --- a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/MediaFrameworkPerfTestRunner.java +++ b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/MediaFrameworkPerfTestRunner.java @@ -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; + } + } } diff --git a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/performance/MediaPlayerPerformance.java b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/performance/MediaPlayerPerformance.java index ccb0638..9b1098e 100644 --- a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/performance/MediaPlayerPerformance.java +++ b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/performance/MediaPlayerPerformance.java @@ -1,12 +1,12 @@ /* * Copyright (C) 2008 The Android Open Source Project - * + * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the @@ -53,7 +53,7 @@ import android.media.MediaMetadataRetriever; import com.android.mediaframeworktest.MediaProfileReader; /** - * Junit / Instrumentation - performance measurement for media player and + * Junit / Instrumentation - performance measurement for media player and * recorder * * FIXME: @@ -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"); - 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)); + 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"); - mProcMemWriter.close(); - mMemWriter.close(); + + 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(); } @@ -285,19 +294,21 @@ public class MediaPlayerPerformance extends ActivityInstrumentationTestCase2<Med } } - public void writeProcmemInfo() throws Exception{ - String cmd = "procmem " + getMediaserverPid(); - Process p = Runtime.getRuntime().exec(cmd); - - InputStream inStream = p.getInputStream(); - InputStreamReader inReader = new InputStreamReader(inStream); - BufferedReader inBuffer = new BufferedReader(inReader); - String s; - while ((s = inBuffer.readLine()) != null) { - mProcMemWriter.write(s); - mProcMemWriter.write("\n"); + public void writeProcmemInfo() throws Exception { + if (MediaFrameworkPerfTestRunner.mGetProcmem) { + String cmd = "procmem " + getMediaserverPid(); + Process p = Runtime.getRuntime().exec(cmd); + + InputStream inStream = p.getInputStream(); + InputStreamReader inReader = new InputStreamReader(inStream); + BufferedReader inBuffer = new BufferedReader(inReader); + String s; + while ((s = inBuffer.readLine()) != null) { + mProcMemWriter.write(s); + mProcMemWriter.write("\n"); + } + mProcMemWriter.write("\n\n"); } - mProcMemWriter.write("\n\n"); } public String captureMediaserverInfo() { @@ -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); } |