package com.android.frameworkperf;
import android.app.Activity;
import android.os.Bundle;
import android.test.ActivityInstrumentationTestCase2;
public class FrameworkPerfTest extends ActivityInstrumentationTestCase2<FrameworkPerfActivity> {
private static final int TEST_TIMEOUT = 15 * 60 * 1000; //15 minutes
public FrameworkPerfTest() {
super("com.android.frameworkperf", FrameworkPerfActivity.class);
}
public void testFrameworkPerf() {
final FrameworkPerfActivity activity = getActivity();
synchronized (activity.mResultNotifier) {
getInstrumentation().runOnMainSync(new Runnable() {
@Override
public void run() {
activity.startRunning();
}
});
try {
activity.mResultNotifier.wait(TEST_TIMEOUT);
} catch (InterruptedException e) {
fail("test interrupted.");
}
}
Bundle testResult = new Bundle();
synchronized (activity.mResults) {
assertTrue("test results were empty.", activity.mResults.size() > 0);
for (RunResult result : activity.mResults) {
testResult.putString(result.name, String.format("%f,%d,%d,%f,%d,%d",
result.getFgMsPerOp(), result.fgOps, result.fgTime,
result.getBgMsPerOp(), result.bgOps, result.bgTime));
}
}
getInstrumentation().sendStatus(Activity.RESULT_OK, testResult);
}
}
|