blob: 69fb47dc5e1cd181c90a13c9a7c25362b2ebd9aa [file] [log] [blame]
#! /usr/bin/env python
# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
from mtreplay import MTReplay
from mtlib import Log, PlatformDatabase
from optparse import OptionParser
import sys
usage = """Multitouch Replay Usage Examples:
Replaying logs and print activity_log:
$ %prog filename.log (from file)
$ %prog 172.22.75.0 (from device ip address)
$ %prog http://feedback.google.com/... (from feedback report url)
Print which platform this log is replayed on:
$ %prog log -p
View gestures log
$ %prog log -v gestures-log
$ %prog log -vgl
View evdev log
$ %prog log -v evdev-log
$ %prog log -vel
View activity in MTEdit:
$ %prog log -v activity
$ %prog log -va"""
def main(argv):
parser = OptionParser(usage=usage)
parser.add_option('-p', '--platform',
dest='platform', action='store_true', default=False,
help='print platform this log is replayed on')
parser.add_option('-v', '--view',
dest='view', default=None,
help='select output of relay to view')
parser.add_option('--gdb',
dest='gdb', action='store_true', default=False,
help='setup gdb session to run replay')
parser.add_option('--force', '-f',
dest='force', default=None,
help='force platform for replay')
parser.add_option('--add-platform', '-a',
dest='add', default=None,
help='add platform of device to database')
(options, args) = parser.parse_args()
if options.add:
PlatformDatabase.RegisterPlatformFromDevice(options.add)
return
replay = MTReplay()
replay.Recompile()
if len(args) != 1:
parser.print_help()
exit(-1)
log = Log(args[0])
if options.platform:
platform = replay.PlatformOf(log, True)
if platform:
print(platform.name)
return
results = replay.Replay(log, force_platform=options.force, gdb=options.gdb)
if results:
results.View(options.view)
if __name__ == '__main__':
main(sys.argv)