Merge "Enable perfboot.py to install APKs before measurement."
This commit is contained in:
commit
50de8224a6
|
@ -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])
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue