Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8f4fd67e authored by Guang Zhu's avatar Guang Zhu
Browse files

allow optionally skipping of initial launch

Current harness performs one round of app launch as a "warm up", and
does not include that into final app launch time calculation. This
change skips this process so that it can speed up local test run
investigation.

Change-Id: I0b1948b2247d9f7e442e799d537508fba6dfa508
parent 0c30bdfe
Loading
Loading
Loading
Loading
+18 −13
Original line number Diff line number Diff line
@@ -60,6 +60,7 @@ public class AppLaunch extends InstrumentationTestCase {
    // optional parameter: comma separated list of required account types before proceeding
    // with the app launch
    private static final String KEY_REQUIRED_ACCOUNTS = "required_accounts";
    private static final String KEY_SKIP_INITIAL_LAUNCH = "skip_initial_launch";
    private static final String WEARABLE_ACTION_GOOGLE =
            "com.google.android.wearable.action.GOOGLE";
    private static final int INITIAL_LAUNCH_IDLE_TIMEOUT = 60000; //60s to allow app to idle
@@ -74,6 +75,7 @@ public class AppLaunch extends InstrumentationTestCase {
    private int mLaunchIterations = 10;
    private Bundle mResult = new Bundle();
    private Set<String> mRequiredAccounts;
    private boolean mSkipInitialLaunch = false;

    @Override
    protected void setUp() throws Exception {
@@ -97,6 +99,7 @@ public class AppLaunch extends InstrumentationTestCase {
        parseArgs(args);
        checkAccountSignIn();

        if (!mSkipInitialLaunch) {
            // do initial app launch, without force stopping
            for (String app : mNameToResultKey.keySet()) {
                long launchTime = startApp(app, false);
@@ -112,6 +115,7 @@ public class AppLaunch extends InstrumentationTestCase {
                closeApp(app, false);
                sleep(BETWEEN_LAUNCH_SLEEP_TIMEOUT);
            }
        }
        // do the real app launch now
        for (int i = 0; i < mLaunchIterations; i++) {
            for (String app : mNameToResultKey.keySet()) {
@@ -174,6 +178,7 @@ public class AppLaunch extends InstrumentationTestCase {
                mRequiredAccounts.add(accountType);
            }
        }
        mSkipInitialLaunch = "true".equals(args.getString(KEY_SKIP_INITIAL_LAUNCH));
    }

    private boolean hasLeanback(Context context) {