1package com.android.frameworkperf; 2 3import android.app.Activity; 4import android.os.Bundle; 5import android.test.ActivityInstrumentationTestCase2; 6 7public class FrameworkPerfTest extends ActivityInstrumentationTestCase2<FrameworkPerfActivity> { 8 9 private static final int TEST_TIMEOUT = 15 * 60 * 1000; //15 minutes 10 11 public FrameworkPerfTest() { 12 super("com.android.frameworkperf", FrameworkPerfActivity.class); 13 } 14 15 public void testFrameworkPerf() { 16 final FrameworkPerfActivity activity = getActivity(); 17 synchronized (activity.mResultNotifier) { 18 getInstrumentation().runOnMainSync(new Runnable() { 19 @Override 20 public void run() { 21 activity.startRunning(); 22 } 23 }); 24 try { 25 activity.mResultNotifier.wait(TEST_TIMEOUT); 26 } catch (InterruptedException e) { 27 fail("test interrupted."); 28 } 29 } 30 Bundle testResult = new Bundle(); 31 synchronized (activity.mResults) { 32 assertTrue("test results were empty.", activity.mResults.size() > 0); 33 for (RunResult result : activity.mResults) { 34 testResult.putString(result.name, String.format("%f,%d,%d,%f,%d,%d", 35 result.getFgMsPerOp(), result.fgOps, result.fgTime, 36 result.getBgMsPerOp(), result.bgOps, result.bgTime)); 37 } 38 } 39 getInstrumentation().sendStatus(Activity.RESULT_OK, testResult); 40 } 41} 42