Merge "Suppress the 1 hour video editor export test case which exceed the 5 mins large test limit. Add the media test util for capturing the memory usage. Bug# 4108259 Change-Id: I751a622ff5dfbb1d563f63a2cbc9db71d194a0f6" into honeycomb-mr1
This commit is contained in:
committed by
Android (Google) Code Review
commit
fd5c1f7c57
@@ -17,9 +17,13 @@
|
||||
package com.android.mediaframeworktest;
|
||||
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.Writer;
|
||||
|
||||
import android.os.Debug;
|
||||
import android.os.Environment;
|
||||
import android.util.Log;
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -30,10 +34,13 @@ public class MediaTestUtil {
|
||||
private MediaTestUtil(){
|
||||
}
|
||||
|
||||
private static String TAG = "MediaTestUtil";
|
||||
private static final String STORAGE_PATH =
|
||||
Environment.getExternalStorageDirectory().toString();
|
||||
private static int mMediaStartMemory = 0;
|
||||
private static int mDrmStartMemory = 0;
|
||||
|
||||
//Catpure the heapdump for memory leaksage analysis\
|
||||
//Catpure the heapdump for memory leaksage analysis
|
||||
public static void getNativeHeapDump (String name) throws Exception {
|
||||
System.gc();
|
||||
System.runFinalization();
|
||||
@@ -42,4 +49,103 @@ public class MediaTestUtil {
|
||||
Debug.dumpNativeHeap(o.getFD());
|
||||
o.close();
|
||||
}
|
||||
}
|
||||
|
||||
public static String captureMemInfo(String type) {
|
||||
String cm = "ps ";
|
||||
cm += type;
|
||||
String memoryUsage = null;
|
||||
|
||||
int ch;
|
||||
try {
|
||||
Process p = Runtime.getRuntime().exec(cm);
|
||||
InputStream in = p.getInputStream();
|
||||
StringBuffer sb = new StringBuffer(512);
|
||||
while ((ch = in.read()) != -1) {
|
||||
sb.append((char) ch);
|
||||
}
|
||||
memoryUsage = sb.toString();
|
||||
} catch (IOException e) {
|
||||
Log.v(TAG, e.toString());
|
||||
}
|
||||
String[] poList = memoryUsage.split("\r|\n|\r\n");
|
||||
String memusage = poList[1].concat("\n");
|
||||
return memusage;
|
||||
}
|
||||
|
||||
public static int getMediaServerVsize() {
|
||||
String memoryUsage = captureMemInfo("mediaserver");
|
||||
String[] poList2 = memoryUsage.split("\t|\\s+");
|
||||
String vsize = poList2[3];
|
||||
int vsizevalue = Integer.parseInt(vsize);
|
||||
Log.v(TAG, "VSIZE = " + vsizevalue);
|
||||
return vsizevalue;
|
||||
}
|
||||
|
||||
public static int getDrmServerVsize() {
|
||||
String memoryUsage = captureMemInfo("drmserver");
|
||||
String[] poList2 = memoryUsage.split("\t|\\s+");
|
||||
String vsize = poList2[3];
|
||||
int vsizevalue = Integer.parseInt(vsize);
|
||||
Log.v(TAG, "VSIZE = " + vsizevalue);
|
||||
return vsizevalue;
|
||||
}
|
||||
|
||||
// Write the ps mediaserver output to the file
|
||||
public static void getMediaServerMemoryLog(Writer output, int writeCount, int totalCount)
|
||||
throws Exception {
|
||||
String memusage = null;
|
||||
|
||||
if (writeCount == 0) {
|
||||
mMediaStartMemory = getMediaServerVsize();
|
||||
output.write("Start memory : " + mMediaStartMemory + "\n");
|
||||
}
|
||||
memusage = captureMemInfo("mediaserver");
|
||||
output.write(memusage);
|
||||
}
|
||||
|
||||
// Write the ps drmserver output to the file
|
||||
public static void getDrmServerMemoryLog(Writer output, int writeCount, int totalCount)
|
||||
throws Exception {
|
||||
String memusage = null;
|
||||
|
||||
if (writeCount == 0) {
|
||||
mDrmStartMemory = getDrmServerVsize();
|
||||
output.write("Start memory : " + mDrmStartMemory + "\n");
|
||||
}
|
||||
memusage = captureMemInfo("drmserver");
|
||||
output.write(memusage);
|
||||
}
|
||||
|
||||
// Write the ps drmserver output to the file
|
||||
public static void getDrmServerMemorySummary(Writer output, String tag) throws Exception {
|
||||
|
||||
getTestMemorySummary(output, tag, "drmMem");
|
||||
}
|
||||
|
||||
// Write the ps drmserver output to the file
|
||||
public static void getMediaServerMemorySummary(Writer output, String tag) throws Exception {
|
||||
|
||||
getTestMemorySummary(output, tag, "mediaMem");
|
||||
}
|
||||
|
||||
public static void getTestMemorySummary(Writer output, String tag, String type)
|
||||
throws Exception {
|
||||
|
||||
int endMemory = 0;
|
||||
int memDiff = 0;
|
||||
|
||||
if (type == "mediaMem") {
|
||||
endMemory = getMediaServerVsize();
|
||||
memDiff = endMemory - mMediaStartMemory;
|
||||
} else if (type == "drmMem") {
|
||||
endMemory = getDrmServerVsize();
|
||||
memDiff = endMemory - mDrmStartMemory;
|
||||
}
|
||||
output.write("End Memory :" + endMemory + "\n");
|
||||
if (memDiff < 0) {
|
||||
memDiff = 0;
|
||||
}
|
||||
output.write(tag + " total diff = " + memDiff);
|
||||
output.write("\n\n");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -44,6 +44,7 @@ import android.util.Log;
|
||||
|
||||
import com.android.mediaframeworktest.MediaFrameworkTest;
|
||||
import android.test.suitebuilder.annotation.LargeTest;
|
||||
import android.test.suitebuilder.annotation.Suppress;
|
||||
import com.android.mediaframeworktest.VideoEditorHelper;
|
||||
|
||||
public class VideoEditorExportTest extends
|
||||
@@ -701,6 +702,7 @@ public class VideoEditorExportTest extends
|
||||
*
|
||||
* @throws Exception
|
||||
*/
|
||||
@Suppress
|
||||
@LargeTest
|
||||
public void testExportDuration1Hour() throws Exception {
|
||||
final String videoItemFilename1 = INPUT_FILE_PATH +
|
||||
|
||||
Reference in New Issue
Block a user