use min app launch time in AppLaunch perf test

Change-Id: Id3a5872ff29fba5daeff058f0842fd011e50a0a1
(cherry picked from commit 2861a89bed)
This commit is contained in:
Guang Zhu
2014-02-19 17:58:38 -08:00
parent 81479358de
commit be6591856b

View File

@@ -85,11 +85,13 @@ public class AppLaunch extends InstrumentationTestCase {
// do initial app launch, without force stopping
for (String app : mNameToResultKey.keySet()) {
long launchTime = startApp(app, false);
if (launchTime <=0 ) {
if (launchTime <= 0) {
mNameToLaunchTime.put(app, -1L);
// simply pass the app if launch isn't successful
// error should have already been logged by startApp
continue;
} else {
mNameToLaunchTime.put(app, launchTime);
}
sleep(INITIAL_LAUNCH_IDLE_TIMEOUT);
closeApp(app, false);
@@ -98,9 +100,9 @@ public class AppLaunch extends InstrumentationTestCase {
// do the real app launch now
for (int i = 0; i < mLaunchIterations; i++) {
for (String app : mNameToResultKey.keySet()) {
long totalLaunchTime = mNameToLaunchTime.get(app);
long prevLaunchTime = mNameToLaunchTime.get(app);
long launchTime = 0;
if (totalLaunchTime < 0) {
if (prevLaunchTime < 0) {
// skip if the app has previous failures
continue;
}
@@ -110,18 +112,19 @@ public class AppLaunch extends InstrumentationTestCase {
mNameToLaunchTime.put(app, -1L);
continue;
}
totalLaunchTime += launchTime;
mNameToLaunchTime.put(app, totalLaunchTime);
// keep the min launch time
if (launchTime < prevLaunchTime) {
mNameToLaunchTime.put(app, launchTime);
}
sleep(POST_LAUNCH_IDLE_TIMEOUT);
closeApp(app, true);
sleep(BETWEEN_LAUNCH_SLEEP_TIMEOUT);
}
}
for (String app : mNameToResultKey.keySet()) {
long totalLaunchTime = mNameToLaunchTime.get(app);
if (totalLaunchTime != -1) {
mResult.putDouble(mNameToResultKey.get(app),
((double) totalLaunchTime) / mLaunchIterations);
long launchTime = mNameToLaunchTime.get(app);
if (launchTime != -1) {
mResult.putLong(mNameToResultKey.get(app), launchTime);
}
}
instrumentation.sendStatus(0, mResult);