summaryrefslogtreecommitdiffstats
path: root/tests/FrameworkPerf/src/com/android/frameworkperf/FrameworkPerfTest.java
blob: 2a53b06e3c36253dd2b95a2ffa9dcd02da21c7ea (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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);
    }
}