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

Commit 50de8224 authored by Yasuhiro Matsuda's avatar Yasuhiro Matsuda Committed by Gerrit Code Review
Browse files

Merge "Enable perfboot.py to install APKs before measurement."

parents 7f2e05e9 c0822e83
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -170,8 +170,12 @@ class AndroidDevice(object):
        out, _ = p.communicate()
        return self._parse_shell_output(out)

    def install(self, filename):
        return self._simple_call(['install', filename])
    def install(self, filename, replace=False):
        cmd = ['install']
        if replace:
            cmd.append('-r')
        cmd.append(filename)
        return self._simple_call(cmd)

    def push(self, local, remote):
        return self._simple_call(['push', local, remote])
+12 −0
Original line number Diff line number Diff line
@@ -40,6 +40,7 @@ $ ./perfboot.py --iterations=30 -v --output=data.tsv --tags=eventtags.txt
import argparse
import atexit
import cStringIO
import glob
import inspect
import logging
import math
@@ -408,9 +409,17 @@ def parse_args():
                        'event tags are read. Every line contains one event '
                        'tag and the last event tag is used to detect that '
                        'the device has finished booting.')
    parser.add_argument('--apk-dir', help='Specify the directory which contains '
                        'APK files to be installed before measuring boot time.')
    return parser.parse_args()


def install_apks(device, apk_dir):
    for apk in glob.glob(os.path.join(apk_dir, '*.apk')):
        print 'Installing: ' + apk
        device.install(apk, replace=True)


def main():
    args = parse_args()
    if args.verbose:
@@ -425,6 +434,9 @@ def main():
            device.get_prop('ro.build.version.incremental'))
    check_dm_verity_settings(device)

    if args.apk_dir:
        install_apks(device, args.apk_dir)

    record_list = []
    event_tags = filter_event_tags(read_event_tags(args.tags), device)
    init_perf(device, args.output, record_list, event_tags)