chromiumos/platform/mttools.git
15 months agoFix feedback extension check for available log. 00/65700/4 master
WeiNan-Peter, Wen [Tue, 13 Aug 2013 15:28:21 +0000 (11:28 -0400)]
Fix feedback extension check for available log.

Verify that the object containing logs of a particular type is empty or
not rather than undefined or not.

BUG=chromium:272226
TEST=Manual testing.

Change-Id: Id8bddfff8d03273524ef087a284da4f5d2e9934b
Reviewed-on: https://gerrit.chromium.org/gerrit/65700
Reviewed-by: Robert Flack <flackr@chromium.org>
Commit-Queue: WeiNan-Peter, Wen <wnwen@chromium.org>
Tested-by: WeiNan-Peter, Wen <wnwen@chromium.org>
15 months agoSave preferred log type for mtedit extension. 86/65586/4 release-R30-4537.B
WeiNan-Peter, Wen [Tue, 6 Aug 2013 14:08:17 +0000 (10:08 -0400)]
Save preferred log type for mtedit extension.

Use chrome synced storage to save the last manually chosen log type and
load that type if available when opening new feedback logs.

Added permission 'storage' for extension.

BUG=chromium:257427
TEST=Manually, works as expected.

Change-Id: Ic4a21428f154d9a170d63af86552c2276f7fe391
Reviewed-on: https://gerrit.chromium.org/gerrit/65586
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Reviewed-by: Robert Flack <flackr@chromium.org>
Commit-Queue: WeiNan-Peter, Wen <wnwen@chromium.org>
Tested-by: WeiNan-Peter, Wen <wnwen@chromium.org>
15 months agopeppy : Add platform 03/64903/4
Tai-Hsu Lin [Wed, 7 Aug 2013 09:21:02 +0000 (17:21 +0800)]
peppy : Add platform

BUG=chromium:268653
TEST=Added/replayed new test

Change-Id: Ie00ee602650e2d8c0717482706c86b2c0ace903e
Reviewed-on: https://gerrit.chromium.org/gerrit/64903
Reviewed-by: Tai-Hsu Lin <sheckylin@chromium.org>
Tested-by: Tai-Hsu Lin <sheckylin@chromium.org>
Commit-Queue: Tai-Hsu Lin <sheckylin@chromium.org>

15 months agoMakefile: install platform files 84/64284/2 stabilize-4512.B
Dennis Kempin [Thu, 1 Aug 2013 22:19:18 +0000 (15:19 -0700)]
Makefile: install platform files

when packaging mtreplay we need to include the platform files for
the tools to function after install.

BUG=chromium:265405
TEST=run emerge-$BOARD mttools

Change-Id: I2c59019448dadfe7c6bef9ae5fb154a3888e286b
Reviewed-on: https://gerrit.chromium.org/gerrit/64284
Reviewed-by: Chung-yih Wang <cywang@chromium.org>
Commit-Queue: Dennis Kempin <denniskempin@chromium.org>
Tested-by: Dennis Kempin <denniskempin@chromium.org>
15 months agoMTEdit: Show mouse relative motion in input 20/63920/2 firmware-pit-4482.B
Andrew de los Reyes [Wed, 31 Jul 2013 17:25:10 +0000 (10:25 -0700)]
MTEdit: Show mouse relative motion in input

BUG=chromium:266406
TEST=manually viewed T620 mouse log file

Change-Id: Icf804cd601abb65f6df6b9574e31976cdbb7d10e
Reviewed-on: https://gerrit.chromium.org/gerrit/63920
Reviewed-by: WeiNan-Peter, Wen <wnwen@chromium.org>
Commit-Queue: Andrew de los Reyes <adlr@chromium.org>
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Tested-by: Andrew de los Reyes <adlr@chromium.org>
15 months agofalco : Add platform 17/63817/2
Benson Leung [Tue, 30 Jul 2013 23:57:35 +0000 (16:57 -0700)]
falco : Add platform

Signed-off-by: Benson Leung <bleung@chromium.org>
BUG=chrome-os-partner:21492
TEST=Added/replayed new test

Change-Id: If9846399bf917df0b1d77cfc97387497b308aaae
Reviewed-on: https://gerrit.chromium.org/gerrit/63817
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Commit-Queue: Benson Leung <bleung@chromium.org>
Tested-by: Benson Leung <bleung@chromium.org>
15 months agoLogitech T620 touch mouse: Add platform 47/63747/2
Andrew de los Reyes [Tue, 30 Jul 2013 18:04:07 +0000 (11:04 -0700)]
Logitech T620 touch mouse: Add platform

BUG=chromium:265944
TEST=Added/replayed new regression test

Change-Id: Iee68845742cf6976e69fd3b8bf5ea88b2dc532f1
Reviewed-on: https://gerrit.chromium.org/gerrit/63747
Reviewed-by: Benson Leung <bleung@chromium.org>
Tested-by: Andrew de los Reyes <adlr@chromium.org>
Commit-Queue: Andrew de los Reyes <adlr@chromium.org>
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
15 months agoParse touch-calibration flag and include bezel. 21/63221/7
WeiNan-Peter, Wen [Wed, 24 Jul 2013 18:13:27 +0000 (14:13 -0400)]
Parse touch-calibration flag and include bezel.

If a bezel is present by the --touch-calibration flag in the system
log, screenshots are resized so that the bezel is visible in the mtedit
tool. As long as we are viewing a system log with a touch-calibration
flag, always resize the screenshot according to the bezel since this
provides a more accurate depiction of the user's screen.

BUG=chromium:256827
TEST=Works well, possibly for multiple monitors where they have
different bezels there might be issues, but the current tool does not
handle multiple monitors anyways.

Change-Id: Ic2708fb728550903b158fcbf51856d4fde752621
Reviewed-on: https://gerrit.chromium.org/gerrit/63221
Reviewed-by: Robert Flack <flackr@chromium.org>
Commit-Queue: WeiNan-Peter, Wen <wnwen@chromium.org>
Tested-by: WeiNan-Peter, Wen <wnwen@chromium.org>
16 months agoMTStat: Added missing Download method 38/63338/2 factory-pit-4471.B
Dennis Kempin [Thu, 25 Jul 2013 16:20:03 +0000 (09:20 -0700)]
MTStat: Added missing Download method

This accidentially got dropped during the last refactoring and breaks
the download functionality

BUG=None
TEST=run mtstat -d 1000

Change-Id: Ie37434110e0618fdffd0799d6776e02afee04d40
Reviewed-on: https://gerrit.chromium.org/gerrit/63338
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Commit-Queue: Dennis Kempin <denniskempin@chromium.org>
Tested-by: Dennis Kempin <denniskempin@chromium.org>
16 months agoMTSTat: Refactored to support searching for changes 92/62392/4 factory-4455.B stabilize-4443.B
Dennis Kempin [Wed, 17 Jul 2013 21:12:55 +0000 (14:12 -0700)]
MTSTat: Refactored to support searching for changes

The new -c or --changes parameter allows to search for gesture changes
introduced by code changes, which is very useful for testing and
validating code changes or for searching for real-world log files for
regresion tests.

BUG=chromium:259532
TEST=run mtstat -c

Change-Id: I5b5d778144085426abb66408bc3e331d6ff450e7
Reviewed-on: https://gerrit.chromium.org/gerrit/62392
Reviewed-by: Dennis Kempin <denniskempin@chromium.org>
Commit-Queue: Dennis Kempin <denniskempin@chromium.org>
Tested-by: Dennis Kempin <denniskempin@chromium.org>
16 months agoMTReplay: Add --force parameter 91/62391/4
Dennis Kempin [Wed, 17 Jul 2013 21:11:46 +0000 (14:11 -0700)]
MTReplay: Add --force parameter

The --force parameters allows a platform to be forced for replay instead
of relying on automatic platform detection.
This is useful when the automatic detection fails.

BUG=None
TEST=manual tests

Change-Id: I346e86113ba880a49645357b3930b39ff41e1941
Reviewed-on: https://gerrit.chromium.org/gerrit/62391
Reviewed-by: Dennis Kempin <denniskempin@chromium.org>
Commit-Queue: Dennis Kempin <denniskempin@chromium.org>
Tested-by: Dennis Kempin <denniskempin@chromium.org>
16 months agomtlib/gesture_log: Ignore metric gestures 90/62390/4
Dennis Kempin [Wed, 17 Jul 2013 21:10:06 +0000 (14:10 -0700)]
mtlib/gesture_log: Ignore metric gestures

metric gestures are not used in mttools, so they are safe to ignore.

BUG=None
TEST=manual test

Change-Id: I52e1fd4c9568a42c6710fcf6a267472bed12569a
Reviewed-on: https://gerrit.chromium.org/gerrit/62390
Reviewed-by: Dennis Kempin <denniskempin@chromium.org>
Commit-Queue: Dennis Kempin <denniskempin@chromium.org>
Tested-by: Dennis Kempin <denniskempin@chromium.org>
16 months agoMTReplay: Allow recompile of HEAD version 89/62389/4
Dennis Kempin [Thu, 11 Jul 2013 21:48:25 +0000 (14:48 -0700)]
MTReplay: Allow recompile of HEAD version

Allows mtreplay to checkout the HEAD version from git and recompile the
binary with this version. Local changes are restored after re-compiling.

BUG=chromium:259533
TEST=manual test

Change-Id: Id1e13aaca57b910f8840d7eab52796f8034e5fdd
Reviewed-on: https://gerrit.chromium.org/gerrit/62389
Reviewed-by: Dennis Kempin <denniskempin@chromium.org>
Commit-Queue: Dennis Kempin <denniskempin@chromium.org>
Tested-by: Dennis Kempin <denniskempin@chromium.org>
16 months agoDistinguish between different touchpad logs. 92/61892/3
WeiNan-Peter, Wen [Mon, 15 Jul 2013 15:58:06 +0000 (11:58 -0400)]
Distinguish between different touchpad logs.

Rather than just allowing the user to select the most recent touchpad
logs, add timestamp as a distinguishing name for the logs.

BUG=chromium:254601
TEST=URL flag changed, but all other mechanisms remained the same. Works
for multiple touchpad logs.

Change-Id: I231673a3aeb87e37e6c7e156bf3dcbdb87313326
Reviewed-on: https://gerrit.chromium.org/gerrit/61892
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Commit-Queue: WeiNan-Peter, Wen <wnwen@chromium.org>
Tested-by: WeiNan-Peter, Wen <wnwen@chromium.org>
16 months agoAdd noise/good/unknown flagging and jump to next noise option. 76/60776/4
WeiNan-Peter, Wen [Thu, 27 Jun 2013 20:12:49 +0000 (16:12 -0400)]
Add noise/good/unknown flagging and jump to next noise option.

In touchscreen mode, tracking ids in the selected range can be flagged
as being either noise, good, or unknown (all start in the unknown
state). Jump to next noise changes the slider range to the next section
of touches marked as noise, starting the search from the start position
on the current slider.

The final piece to round out feature parity with the prototype.

BUG=chromium:245282
TEST=Works as prescribed. No changes to existing mechanisms. A few
reactions to corner cases like all trackingIds marked as noise can be
handled better in the future (not sure what the proper action is right
now, just handled as seemed appropriate).

Change-Id: I8d8c08fa0cec2beaa2fd1ce4630c9dee67d3655e
Reviewed-on: https://gerrit.chromium.org/gerrit/60776
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Commit-Queue: WeiNan-Peter, Wen <wnwen@chromium.org>
Tested-by: WeiNan-Peter, Wen <wnwen@chromium.org>
16 months agoMTReplay: Recompile command 92/60692/4 factory-pit-4390.B firmware-falco_peppy-4389.B firmware-leon-4389.26.B firmware-wolf-4389.24.B
Dennis Kempin [Mon, 1 Jul 2013 22:08:32 +0000 (15:08 -0700)]
MTReplay: Recompile command

Adds a recompile command to the MTReplay API. This command is used by
touchpad-tests or other tools to keep the replay binary up 2 date before
running any replays.

BUG=chromium:253950
TEST=run mtstat and see it's recompiling

Change-Id: I1573de44138dbedfb4c16ca6212043bbdd585b9b
Reviewed-on: https://gerrit.chromium.org/gerrit/60692
Commit-Queue: Dennis Kempin <denniskempin@chromium.org>
Reviewed-by: Dennis Kempin <denniskempin@chromium.org>
Tested-by: Dennis Kempin <denniskempin@chromium.org>
16 months agoMTStat: Smarter Search and nicer presentation 90/60690/3
Dennis Kempin [Mon, 1 Jul 2013 21:58:22 +0000 (14:58 -0700)]
MTStat: Smarter Search and nicer presentation

Extended MTStat to allow log outputs to be searched for arbitrary
regular expressions. Search queries can now work with integer values and
search for queries like "CLickCount>200" or "ThumbClick=Yes".
The output of mtstat has been updated to group results by key and
present an ascii graph for displaying the histogram of results.
Integer values will now be grouped together to be able to display
histograms with 10 bins or less.

BUG=chromium:248274
TEST=manual test of mtstat command line tool.

Change-Id: Icd32b9959ba0524126f0b7581b956240b1ea1e7d
Reviewed-on: https://gerrit.chromium.org/gerrit/60690
Commit-Queue: Dennis Kempin <denniskempin@chromium.org>
Reviewed-by: Dennis Kempin <denniskempin@chromium.org>
Tested-by: Dennis Kempin <denniskempin@chromium.org>
17 months agoAlign screenshot file requirements with python log.py. 97/60097/4
WeiNan-Peter, Wen [Wed, 26 Jun 2013 15:28:20 +0000 (11:28 -0400)]
Align screenshot file requirements with python log.py.

Screenshot files are assumed to be the file name appended with .jpg,
unless the file name ends in .zip or .bz2, in which case those
extensions are stripped first and then .jpg is appended.

Must ensure local files have a+r privileges.

BUG=chromium:245284
TEST=Works on local file arguments, does not impact extension or web.

Change-Id: Ie7fddd21e10eb997122e459e5fc1b708b872511e
Reviewed-on: https://gerrit.chromium.org/gerrit/60097
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Commit-Queue: WeiNan-Peter, Wen <wnwen@chromium.org>
Tested-by: WeiNan-Peter, Wen <wnwen@chromium.org>
17 months agoFix url parsing, initial radius, and non-global args. 94/60094/6
WeiNan-Peter, Wen [Wed, 26 Jun 2013 15:09:59 +0000 (11:09 -0400)]
Fix url parsing, initial radius, and non-global args.

Sends the url for the zip/bz2 file rather than trying to parse the id
from the url. Screenshot url still derived from report id since
sometimes the img element is not there on the feedback url page. We
already scan the page for span elements, perhaps it would be best to
keep the feedback script as lean as possible.

Get initial radius from touchMajor, and only if that's unavailable get
it from outPressure. Same as prototype.

There is no longer a global "args" variable. Fixed for args.start and
args.end.

BUG=chromium:254109
TEST=Extension now works with all urls.

Change-Id: Id652b8c203f4af2228528aa5530587601b8fe69f
Reviewed-on: https://gerrit.chromium.org/gerrit/60094
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Commit-Queue: WeiNan-Peter, Wen <wnwen@chromium.org>
Tested-by: WeiNan-Peter, Wen <wnwen@chromium.org>
17 months agoImprove hash argument updates, add more arguments (start/end time, log 15/59915/5
WeiNan-Peter, Wen [Tue, 25 Jun 2013 15:53:48 +0000 (11:53 -0400)]
Improve hash argument updates, add more arguments (start/end time, log
name/index)

Added link display to be shared, should only be useful for hosted
version. Added ability to choose which type of log to view with hash
arguments.

BUG=chromium:245281
TEST=Works well with both touchpad and touchscreen logs on a plain
server.

Change-Id: Ice6699813f9b36f0b62477898dab0652fba75437
Reviewed-on: https://gerrit.chromium.org/gerrit/59915
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Commit-Queue: WeiNan-Peter, Wen <wnwen@chromium.org>
Tested-by: WeiNan-Peter, Wen <wnwen@chromium.org>
17 months agoMTEdit: Allow longer logs. 28/59928/2
Dennis Kempin [Tue, 25 Jun 2013 17:18:06 +0000 (10:18 -0700)]
MTEdit: Allow longer logs.

Some logs we use are longer than 10,000 entries.

BUG=chromium:253947
TEST=manual test with mtstat

Change-Id: Ic35be671c0bc72ddc337640cdd386265fe9e3232
Reviewed-on: https://gerrit.chromium.org/gerrit/59928
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Commit-Queue: Dennis Kempin <denniskempin@chromium.org>
Tested-by: Dennis Kempin <denniskempin@chromium.org>
17 months agoMTEdit: Allow start/end to be passed via URL # parameter 22/59922/3
Dennis Kempin [Tue, 25 Jun 2013 16:44:47 +0000 (09:44 -0700)]
MTEdit: Allow start/end to be passed via URL # parameter

This allows the mtedit command line tool to jump to a certain position
in the log when it opens.

BUG=chromium:253947
TEST=manual test using mtstat

Change-Id: Ieabf7e94271d7ad194b2ed1868aafe5e54e1219b
Reviewed-on: https://gerrit.chromium.org/gerrit/59922
Reviewed-by: Dennis Kempin <denniskempin@chromium.org>
Commit-Queue: Dennis Kempin <denniskempin@chromium.org>
Tested-by: Dennis Kempin <denniskempin@chromium.org>
17 months agoMTStat: View percentage and search command 17/59917/3
Dennis Kempin [Tue, 25 Jun 2013 16:00:53 +0000 (09:00 -0700)]
MTStat: View percentage and search command

Stats are now viewed in percentage which allows for easier analysis of
the results.
This CL also adds a search command for MTStat that returns all
occurences of a specific MTEdit:Tag and prints links to MTEdit sessions
showing these occurences.
BUG=chromium:253947
TEST=mtstat -s TEST

Change-Id: I1245168655ae6a706458362e4dc70cd5a021937d
Reviewed-on: https://gerrit.chromium.org/gerrit/59917
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Commit-Queue: Dennis Kempin <denniskempin@chromium.org>
Tested-by: Dennis Kempin <denniskempin@chromium.org>
17 months agoAdd touch replay capability. 19/59819/4
WeiNan-Peter, Wen [Mon, 24 Jun 2013 19:48:57 +0000 (15:48 -0400)]
Add touch replay capability.

Same replay capability and use as prototype. 3 second timeout for long
delays between inputs. Could be improved later by skipping frames to
give a more real-time experience when events are extremely dense.

Button to play/stop.

BUG=chromium:244966
CQ-DEPEND=CL:59445
TEST=Works fine with static url and extension.

Change-Id: I5ae1dd675689b100fc094675133ddaa1de5f9325
Reviewed-on: https://gerrit.chromium.org/gerrit/59819
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Commit-Queue: WeiNan-Peter, Wen <wnwen@chromium.org>
Tested-by: WeiNan-Peter, Wen <wnwen@chromium.org>
17 months agoAdd hash parameter for local file path to load log from. 45/59445/11 release-R29-4319.B
WeiNan-Peter, Wen [Thu, 20 Jun 2013 17:24:01 +0000 (13:24 -0400)]
Add hash parameter for local file path to load log from.

When a path with the name 'f' or 'file' is passed as a hash parameter,
it is used to load that file as a touch log from the root of the current
directory. If the file is a zip file
or a bz2 file, mtedit will attempt to load it as a feedback log,
otherwise it will assume a raw event log, either for touchpad or
touchscreen.

Feedback urls directly from the extension has priority over local files
if ever the two should come into conflict (they shouldn't in normal
workflows).

'f' is maintained for backward compatibility with the prototype mtedit
will soon replace.

BUG=chromium:245273
TEST=Works with a file parameter, when there is no file parameter
everything else is business as usual. :)

Change-Id: I0db3ddda5e0d165581c6d6021df384d05e5fd01a
Reviewed-on: https://gerrit.chromium.org/gerrit/59445
Reviewed-by: Robert Flack <flackr@chromium.org>
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Tested-by: WeiNan-Peter, Wen <wnwen@chromium.org>
Commit-Queue: WeiNan-Peter, Wen <wnwen@chromium.org>

17 months agoAdd default entry when no touch entries are present. 69/59269/6
WeiNan-Peter, Wen [Wed, 19 Jun 2013 18:25:25 +0000 (14:25 -0400)]
Add default entry when no touch entries are present.

This resolves a display bug where we do not handle the case with no
touch events in the evdev logs, only #absinfo lines.

BUG=chromium:251751
TEST=Everything works as expected, no more js errors.

Change-Id: Icd2e9dff7f6cf8702c6148c0e0be29e6ec662152
Reviewed-on: https://gerrit.chromium.org/gerrit/59269
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Tested-by: WeiNan-Peter, Wen <wnwen@chromium.org>
Commit-Queue: WeiNan-Peter, Wen <wnwen@chromium.org>

17 months agoAppend Cache-Control header to TPView responses. 61/56761/5
WeiNan-Peter, Wen [Mon, 27 May 2013 17:50:02 +0000 (13:50 -0400)]
Append Cache-Control header to TPView responses.

Used end_headers override rather than send_head since the entire method
of send_head would have to be duplicated to modify the headers (it calls
end_headers when it exits).

BUG=chromium:243305
TEST=Header is sent with resources. Nothing else has changed.

Change-Id: I4393e8602f6b421fce6ecb3596528892da581066
Reviewed-on: https://gerrit.chromium.org/gerrit/56761
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Tested-by: WeiNan-Peter, Wen <wnwen@chromium.org>
Commit-Queue: WeiNan-Peter, Wen <wnwen@chromium.org>

17 months agomtlib/platform.py: Platform Matching Bugfixing 87/59487/4
Dennis Kempin [Thu, 20 Jun 2013 22:07:21 +0000 (15:07 -0700)]
mtlib/platform.py: Platform Matching Bugfixing

Using mtstat I have replayed about 1000 log files, which brought a bunch
of errors to light.
Some platforms have new hardware properties. Also properties might
change, so they should only be used when matching hwproperties is
ambiguous.
Also added some error checks to prevent broken log files to enter the
system.

BUG=chromium:248274
TEST=run:
mtstat -d 1000
mtstat
Check for error messages

Change-Id: I262f18c4840e29a4a3b70da63221b359dbda77fd
Reviewed-on: https://gerrit.chromium.org/gerrit/59487
Commit-Queue: Dennis Kempin <denniskempin@chromium.org>
Tested-by: Dennis Kempin <denniskempin@chromium.org>
Reviewed-by: Dennis Kempin <denniskempin@chromium.org>
17 months agoNew Tool: MTStat 61/59461/6
Dennis Kempin [Thu, 20 Jun 2013 20:21:38 +0000 (13:21 -0700)]
New Tool: MTStat

MTStat is a new tool to generate statistics on the gestures library.
It allows to replay large amounts of touchpad data and parses the
gestures library log output.
Each log statement starting with "MTStat:" will be counted and a
histogram of all lines will be calculated and displayed.
This tool processes about 1 hour of touchpad activity per second on a
Z620.
Remember to run $ make setup-in-place to get access to this tool.

BUG=chromium:248274
TEST=test this tool on the command line.

Change-Id: Ica44be7a806dd887a4163bf3c4e893a47b34fa30
Reviewed-on: https://gerrit.chromium.org/gerrit/59461
Reviewed-by: Dennis Kempin <denniskempin@chromium.org>
Tested-by: Dennis Kempin <denniskempin@chromium.org>
Commit-Queue: Dennis Kempin <denniskempin@chromium.org>

17 months agoMTReplay: New API for replay/trim 80/59080/5
Dennis Kempin [Tue, 18 Jun 2013 18:00:02 +0000 (11:00 -0700)]
MTReplay: New API for replay/trim

Added a higher level interface for MTReplay. Using the new
PlatformDatabase we can replay logs just knowing the activity/evdev
logs. This allows us to provide a cleaner API and use replay
functionality outside of touchpad-tests.

The new class MTReplay replaces the old class which has been renamed
to RawReplay.
The new API is then used in mtreplay/main.py to build a command line
interface for replaying logs.
It is also used in mtedit during the edit process. After the trimmed
activity log has been received it will use the new API to trim the evdev
log accordingly, this previously had to be done by touchpad-tests.

This new tool has been tested with recent feedback reports from all
platforms. Some errors have been fixed by removing uncessary platforms
butterfly-2.4 and snow-1.3 which had been created as dummy platforms in
touchpad-tests.

The file gesture_log is a copy from touchpad_tests where it will be
removed.

BUG=chromium:249477
TEST=manual test of mtreplay on feedback reports from all supported
platforms

Change-Id: Id25b0869e57781049c8428aad2cd6e829f3e87c6
Reviewed-on: https://gerrit.chromium.org/gerrit/59080
Reviewed-by: Dennis Kempin <denniskempin@chromium.org>
Commit-Queue: Dennis Kempin <denniskempin@chromium.org>
Tested-by: Dennis Kempin <denniskempin@chromium.org>
17 months agoCode style update: (Doc-)Strings 05/58905/4
Dennis Kempin [Mon, 17 Jun 2013 21:09:33 +0000 (14:09 -0700)]
Code style update: (Doc-)Strings

Fixed docstrings and strings formatting to follow Google python
guidelines.

BUG=None
TEST=None

Change-Id: Ice7f309afe3a4b59f0d3e5186c0062221b94e985
Reviewed-on: https://gerrit.chromium.org/gerrit/58905
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Commit-Queue: Dennis Kempin <denniskempin@chromium.org>
Tested-by: Dennis Kempin <denniskempin@chromium.org>
17 months agoCopied platform files from touchpad-tests to MTTools 15/58715/7
Dennis Kempin [Fri, 14 Jun 2013 21:25:27 +0000 (14:25 -0700)]
Copied platform files from touchpad-tests to MTTools

These are exact copies of the platform.dat/props files found in touchpad
tests. They are now managed by mttools which can automatically figure
out which platform to use for each activity log.

BUG=chromium:249477
TEST=manual tests

Change-Id: I83c65a83f3abd0e062a13a6630ca2b2b438cc862
Reviewed-on: https://gerrit.chromium.org/gerrit/58715
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Commit-Queue: Dennis Kempin <denniskempin@chromium.org>
Tested-by: Dennis Kempin <denniskempin@chromium.org>
17 months agoMTLib: Added platform.py for managing platforms and their properties 14/58714/6
Dennis Kempin [Fri, 14 Jun 2013 21:12:39 +0000 (14:12 -0700)]
MTLib: Added platform.py for managing platforms and their properties

The main purpose is to parse all platform properties and match activity
logs to their corresponding platform.
This will allow replays outside of touchpad-tests.
The file xorg_conf.py is a copy from touchpad-tests where it will be
removed.
BUG=chromium:249477
TEST=manual testing

Change-Id: If74f51e8aedef186eaf64a911d865ae3a2de9003
Reviewed-on: https://gerrit.chromium.org/gerrit/58714
Reviewed-by: Charlie Mooney <charliemooney@chromium.org>
Commit-Queue: Dennis Kempin <denniskempin@chromium.org>
Tested-by: Dennis Kempin <denniskempin@chromium.org>
17 months agoExtracted FeedbackDownloader into feedback.py 99/58699/5
Dennis Kempin [Fri, 14 Jun 2013 17:40:41 +0000 (10:40 -0700)]
Extracted FeedbackDownloader into feedback.py

This class will be useful for downloading multiple feedback reports.
This CL also updates cookies and report cache folder to be in
mttools/cache, so we have one single folder of files generated at
runtime and don't spread them in the source tree.

BUG=chromium:249477
TEST=manual test of mtedit

Change-Id: I799baff9e5d14cc0ddbbeacf8f3c4bc10f63e582
Reviewed-on: https://gerrit.chromium.org/gerrit/58699
Reviewed-by: Charlie Mooney <charliemooney@chromium.org>
Commit-Queue: Dennis Kempin <denniskempin@chromium.org>
Tested-by: Dennis Kempin <denniskempin@chromium.org>
17 months agoPropProvider: Support the new Gestures property API 38/59138/4
Andrew de los Reyes [Sat, 8 Jun 2013 00:34:24 +0000 (17:34 -0700)]
PropProvider: Support the new Gestures property API

Adds support for the new Gestures property API, which supports
array-based properties.

BUG=chromium:251407
TEST=Unittests pass. Tested that using xinput to change array values
works correctly, in that both xinput gives the correct values back and
gestures library sees the correct values. Regression tests show no
change in the first 4 significant digits of all scores.
CQ-DEPEND=CL:59133

Change-Id: I61380c744fdd487e5ca0802202c561d69f612273
Reviewed-on: https://gerrit.chromium.org/gerrit/59138
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Tested-by: Andrew de los Reyes <adlr@chromium.org>
Commit-Queue: Andrew de los Reyes <adlr@chromium.org>

17 months agoPropProvider: Fix lexical_cast. 37/59137/2
Andrew de los Reyes [Thu, 13 Jun 2013 21:32:12 +0000 (14:32 -0700)]
PropProvider: Fix lexical_cast.

This is necessary because the GesturesBoolType is switching from int
to unsigned char. lexical_cast has this unfortunate, but
understandable, property:

lexical_cast<int>("0") -> 0  // good
lexical_cast<unsigned char>("0") -> 0x30  // bad; 0x30 is ASCII '0'

Thus, we make our own cast function that special-cases
GesturesBoolType.

BUG=chromium:251407
TEST=Unittests pass. Tested that using xinput to change array values
works correctly, in that both xinput gives the correct values back and
gestures library sees the correct values. Regression tests show no
change in the first 4 significant digits of all scores.

Change-Id: I8cea14a0bf081f4a8bd121b5616ea4ce1422134e
Reviewed-on: https://gerrit.chromium.org/gerrit/59137
Reviewed-by: Dennis Kempin <denniskempin@chromium.org>
Tested-by: Andrew de los Reyes <adlr@chromium.org>
Commit-Queue: Andrew de los Reyes <adlr@chromium.org>

17 months agoAdd colour/radius styling as default in touchscreen mode. 15/59415/2
WeiNan-Peter, Wen [Thu, 20 Jun 2013 13:27:39 +0000 (09:27 -0400)]
Add colour/radius styling as default in touchscreen mode.

In this paint mode, radius is determined by the touch pressure, the
label is removed, and the colour is determined by the pressure and
trackingId. Only affects touchscreen mode.

BUG=chromium:243317
TEST=Works with extension (much easier to test now to just reload local
extension and click on buttons :) )

Change-Id: I66c44285275411a562681c6c9c8649d46c84c582
Reviewed-on: https://gerrit.chromium.org/gerrit/59415
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Tested-by: WeiNan-Peter, Wen <wnwen@chromium.org>
Commit-Queue: WeiNan-Peter, Wen <wnwen@chromium.org>

17 months agoVersion 1.0 of extension. Adds button to feedback pages to view logs. 38/58538/5 factory-4290.B
WeiNan-Peter, Wen [Thu, 13 Jun 2013 14:44:01 +0000 (10:44 -0400)]
Version 1.0 of extension. Adds button to feedback pages to view logs.

Clicking on the button opens a new mtedit.html page that automatically
loads system_logs from the original feedback page. The button is added
by a content script that runs on feedback pages, whenever the hash
changes and a click is made.

Icons are just temporary ones resized from feedback page.

BUG=chromium:248922
TEST=Works locally.

Change-Id: Ib9483120c237703b6f3ef3401a1d34080b999b42
Reviewed-on: https://gerrit.chromium.org/gerrit/58538
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Tested-by: WeiNan-Peter, Wen <wnwen@chromium.org>
Commit-Queue: WeiNan-Peter, Wen <wnwen@chromium.org>

17 months agoRefactoring: restructuring of files 74/58574/4 stabilize-4287.B
Dennis Kempin [Thu, 13 Jun 2013 20:55:18 +0000 (13:55 -0700)]
Refactoring: restructuring of files

Every mttool (mtedit/mtreplay and future tools) now follows the same
structure and exposes a python api next to an optional command line
tool.
The replay tool has been renamed MTReplay and moved out of mtlib and
will gain a command line interface in a later cl.
This refactoring is to prepare mtlib to support MTReplay as a
self-contained replay tool.

BUG=chromium:249477
TEST=manually check if touchtests and mtedit are still functional

Change-Id: If62fcbe2f5fc7bd2dfc71435a3375bbe087db212
Reviewed-on: https://gerrit.chromium.org/gerrit/58574
Commit-Queue: Dennis Kempin <denniskempin@chromium.org>
Reviewed-by: Dennis Kempin <denniskempin@chromium.org>
Tested-by: Dennis Kempin <denniskempin@chromium.org>
17 months agoExtract inline script from mtedit.html to main.js. 37/58537/3 factory-pit-4280.B
WeiNan-Peter, Wen [Thu, 13 Jun 2013 14:58:39 +0000 (10:58 -0400)]
Extract inline script from mtedit.html to main.js.

Chrome extension requires js files to be in separate files, no logic
changes, direct copy. Only addition is the license lines in main.js.

BUG=chromium:248922
TEST=Still intact! :)

Change-Id: I243dc1322b3c2c771d22d2a65ff59010f3ae847a
Reviewed-on: https://gerrit.chromium.org/gerrit/58537
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Commit-Queue: WeiNan-Peter, Wen <wnwen@chromium.org>
Tested-by: WeiNan-Peter, Wen <wnwen@chromium.org>
17 months agoMove web resources to subfolder in preparation for extension package. 36/58536/2
WeiNan-Peter, Wen [Thu, 13 Jun 2013 14:48:39 +0000 (10:48 -0400)]
Move web resources to subfolder in preparation for extension package.

After this move and the subsequent CLs, the extension will be deployed
out of the mtedit/extension/* folder. The python server has been
modified to serve everything from that folder instead.

BUG=chromium:248922
TEST=Everything works as usual, no logic changes, just making this a
separate CL to improve review readability.

Change-Id: Idaa98b394be26577ead60cdf8fb5bc401cd4007b
Reviewed-on: https://gerrit.chromium.org/gerrit/58536
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Commit-Queue: WeiNan-Peter, Wen <wnwen@chromium.org>
Tested-by: WeiNan-Peter, Wen <wnwen@chromium.org>
17 months agoAdd touchscreen parsing/choosing for feedback report upload. 23/58123/4 factory-spring-4262.B
WeiNan-Peter, Wen [Mon, 10 Jun 2013 21:08:26 +0000 (17:08 -0400)]
Add touchscreen parsing/choosing for feedback report upload.

Support feedback reports with touchscreen logs from javascript.

BUG=chromium:241409
TEST=Works with feedback reports that may or may not have touchscreen
logs.

Change-Id: I0b0820f8e849e87081aab8bfc02f001027d4ae4a
Reviewed-on: https://gerrit.chromium.org/gerrit/58123
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Commit-Queue: WeiNan-Peter, Wen <wnwen@chromium.org>
Tested-by: WeiNan-Peter, Wen <wnwen@chromium.org>
17 months agoAdd js zip support from mtedit's html interface. 49/57449/5 stabilize-4255.B
WeiNan-Peter, Wen [Wed, 5 Jun 2013 13:49:49 +0000 (09:49 -0400)]
Add js zip support from mtedit's html interface.

Used js-unzip and js-inflate to read zip file data.

BUG=chromium:243306
TEST=Works for zip and bz2 uploads.

Change-Id: I0d939a94995172bae7be4e8ae2dd7cd11d3b3192
Reviewed-on: https://gerrit.chromium.org/gerrit/57449
Reviewed-by: Robert Flack <flackr@chromium.org>
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Commit-Queue: WeiNan-Peter, Wen <wnwen@chromium.org>
Tested-by: WeiNan-Peter, Wen <wnwen@chromium.org>
17 months agoAdd PRESUBMIT config to allow alternate licensing. 12/57612/2
WeiNan-Peter, Wen [Wed, 5 Jun 2013 13:50:45 +0000 (09:50 -0400)]
Add PRESUBMIT config to allow alternate licensing.

In preparation for another CL to add open source js libraries.

BUG=chromium:243306
TEST=No logic changes, mtedit still works.

Change-Id: I0cdde8c51923c277c3fcdf45e4e6bb47f0f347af
Reviewed-on: https://gerrit.chromium.org/gerrit/57612
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Commit-Queue: WeiNan-Peter, Wen <wnwen@chromium.org>
Tested-by: WeiNan-Peter, Wen <wnwen@chromium.org>
17 months agoFix js error when no screenshot exists for a touchscreen log. 10/57110/3
WeiNan-Peter, Wen [Thu, 30 May 2013 15:39:27 +0000 (11:39 -0400)]
Fix js error when no screenshot exists for a touchscreen log.

BUG=chromium:245269
TEST=No more js errors when a screenshot does not exist. Existing
screenshots still work fine.

Change-Id: Id9fec5eb0223e15946a4792ada8a52972678d5a7
Reviewed-on: https://gerrit.chromium.org/gerrit/57110
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Commit-Queue: WeiNan-Peter, Wen <wnwen@chromium.org>
Tested-by: WeiNan-Peter, Wen <wnwen@chromium.org>
17 months agoFix errors caused by poor " replacement. 43/57443/2
WeiNan-Peter, Wen [Tue, 4 Jun 2013 12:32:32 +0000 (08:32 -0400)]
Fix errors caused by poor " replacement.

BUG=None
TEST=Verified both file and feedback urls produce no more errors.

Change-Id: Ib5e08c7f358df78b70a2572c7543e27309665ee2
Reviewed-on: https://gerrit.chromium.org/gerrit/57443
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Commit-Queue: WeiNan-Peter, Wen <wnwen@chromium.org>
Tested-by: WeiNan-Peter, Wen <wnwen@chromium.org>
17 months agoAdd button to export currently selected range in evdev format. 09/56809/6
WeiNan-Peter, Wen [Wed, 22 May 2013 18:25:25 +0000 (14:25 -0400)]
Add button to export currently selected range in evdev format.

Reused text box for uploading/dragging in text files to display evdev
format output. Since it's just an evdev log when it is reloaded it is
automatically assumed to be a touchscreen log.

BUG=chromium:237144
TEST=Emits correct evdev log that gets parsed back to the correct view.

Change-Id: If8ac4ec6c6a1990dadbb983b9d4669b53d77bcbf
Reviewed-on: https://gerrit.chromium.org/gerrit/56809
Tested-by: WeiNan-Peter, Wen <wnwen@chromium.org>
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Commit-Queue: WeiNan-Peter, Wen <wnwen@chromium.org>

17 months agoReplace " with ' in mtedit.html inline javascript. 11/56811/4
WeiNan-Peter, Wen [Tue, 28 May 2013 15:36:03 +0000 (11:36 -0400)]
Replace " with ' in mtedit.html inline javascript.

BUG=none
TEST=No logic change.

Change-Id: Icfcac708d980d482f453ba95d3b55f2828143ef1
Reviewed-on: https://gerrit.chromium.org/gerrit/56811
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Tested-by: WeiNan-Peter, Wen <wnwen@chromium.org>
Commit-Queue: WeiNan-Peter, Wen <wnwen@chromium.org>

17 months agoDraw screenshot on canvas instead of on element behind canvas. 04/56204/6
WeiNan-Peter, Wen [Thu, 23 May 2013 20:21:46 +0000 (16:21 -0400)]
Draw screenshot on canvas instead of on element behind canvas.

Zoom and panning now works with a screenshot.

BUG=chromium:240381
TEST=Tested with screenshot and without.
CQ-DEPEND=CL:56044

Change-Id: I5f064b43e176f48eeb03c7b3e14e066756f2292e
Reviewed-on: https://gerrit.chromium.org/gerrit/56204
Tested-by: WeiNan-Peter, Wen <wnwen@chromium.org>
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Commit-Queue: WeiNan-Peter, Wen <wnwen@chromium.org>

18 months agoAdd support for the metrics gesture 28/55728/4
Tai-Hsu Lin [Mon, 20 May 2013 06:51:05 +0000 (14:51 +0800)]
Add support for the metrics gesture

This patch adds support for the metrics gesture (GestureMetrics) in
mttools. The metrics gesture is used to expose vital stats that we
would like to catch with the UMA system in Chrome.

BUG=chromium:237683
TEST=Regression test works, no regression.

CQ-DEPEND=I5e6c9bd5489f4e5aeb90e0d7d7f48cd3e068d08f

Change-Id: I66fa6537e792e8f8bb8a0e71b13ceb1631146c10
Reviewed-on: https://gerrit.chromium.org/gerrit/55728
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Commit-Queue: Tai-Hsu Lin <sheckylin@chromium.org>
Tested-by: Tai-Hsu Lin <sheckylin@chromium.org>
18 months agoMake downloading screenshot default for touchscreens. Resolve screenshot 44/56044/4
WeiNan-Peter, Wen [Tue, 21 May 2013 15:17:54 +0000 (11:17 -0400)]
Make downloading screenshot default for touchscreens. Resolve screenshot
caching.

Using resolution 1, always cache a screenshot file if it is used. An
empty file is used if there is no screenshot available for the feedback
report.

Allow loading previously downloaded screenshots by attempting to load a
screenshot with the same name as the zip file.

BUG=chromium:240384,chromium:241540
TEST=Works for feedback reports with and without screenshots. Also works
with expired cookies (asks for creds again).

Change-Id: I4a14c6d82711dad1c69ddfcfd395d38b06a156a3
Reviewed-on: https://gerrit.chromium.org/gerrit/56044
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Commit-Queue: WeiNan-Peter, Wen <wnwen@chromium.org>
Tested-by: WeiNan-Peter, Wen <wnwen@chromium.org>
18 months agoMove information about touches to a popup. 80/51480/5
WeiNan-Peter, Wen [Wed, 15 May 2013 15:39:17 +0000 (11:39 -0400)]
Move information about touches to a popup.

Clicking on touches in touchscreen mode brings up a popup with relevant
touch information rather than having a static box below the display
pane.

BUG=chromium:237145
TEST=Tested for file and feedback reports.

Change-Id: Ie51baa301a00a7f9bcfdb9e31c595ad0ab4da749
Reviewed-on: https://gerrit.chromium.org/gerrit/51480
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Commit-Queue: WeiNan-Peter, Wen <wnwen@chromium.org>
Tested-by: WeiNan-Peter, Wen <wnwen@chromium.org>
18 months agoFix hardware parameter parsing and temporary fix for screenshot. 88/51488/2
WeiNan-Peter, Wen [Thu, 16 May 2013 19:31:21 +0000 (15:31 -0400)]
Fix hardware parameter parsing and temporary fix for screenshot.

The first number after 0/1 in the evdev log is the current position of
the first touch rather than the left/top parameter. Left/top should
always be the default 0.

Temporarily only try to download screenshots if the report is not
already cached to avoid spurious errors. Full resolution when
chromium:241540 is fixed.

BUG=chromium:241412
TEST=Works fine on log.dat as well as feedback reports.

Change-Id: I05e06bdaa808f4377b1c3c04142c560f38716afc
Reviewed-on: https://gerrit.chromium.org/gerrit/51488
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Commit-Queue: WeiNan-Peter, Wen <wnwen@chromium.org>
Tested-by: WeiNan-Peter, Wen <wnwen@chromium.org>
18 months agoParse touchscreen log from feedback report. 99/51299/4
WeiNan-Peter, Wen [Wed, 15 May 2013 15:26:09 +0000 (11:26 -0400)]
Parse touchscreen log from feedback report.

Used as much common code to find/load touchscreen logs and touchpad
logs.

Removed touchscreen toggle and just do it implicitly as the user ever
only loads one log, so just automatically switch.

BUG=chromium:240379
TEST=Works for feedback urls that contain touchscreen and touchpad logs.

Change-Id: I4e2fa0065cc36f92b840c1152b2f4abc33d5617c
Reviewed-on: https://gerrit.chromium.org/gerrit/51299
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Commit-Queue: WeiNan-Peter, Wen <wnwen@chromium.org>
Tested-by: WeiNan-Peter, Wen <wnwen@chromium.org>
18 months agomtedit/log.py: Cache downloaded reports locally 58/51158/3 factory-spring-4131.B
Andrew de los Reyes [Tue, 14 May 2013 18:45:32 +0000 (11:45 -0700)]
mtedit/log.py: Cache downloaded reports locally

We should avoid hitting the server repeatedly when viewing the same
log multiple times.

BUG=chromium:240794
TEST=mtedit 'url' twice, saw the second time be very fast

Change-Id: I0c672629f76fad1b265cbfe4b02fe04d1f45646c
Reviewed-on: https://gerrit.chromium.org/gerrit/51158
Reviewed-by: Dennis Kempin <denniskempin@chromium.org>
Commit-Queue: Andrew de los Reyes <adlr@chromium.org>
Tested-by: Andrew de los Reyes <adlr@chromium.org>
18 months agoFix screenshot error when no screenshot is requested. 80/50980/2 factory-4128.B
WeiNan-Peter, Wen [Mon, 13 May 2013 13:32:29 +0000 (09:32 -0400)]
Fix screenshot error when no screenshot is requested.

BUG=chromium:237142,chromium:239890
TEST=Verfied spurious error message is fixed.

Change-Id: I77129990f85e324e67066a55e2b0d4ecbd7d58d2
Reviewed-on: https://gerrit.chromium.org/gerrit/50980
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Commit-Queue: WeiNan-Peter, Wen <wnwen@chromium.org>
Tested-by: WeiNan-Peter, Wen <wnwen@chromium.org>
18 months agoRevert "Add option -c to attempt downloading and displaying screenshot." 67/50867/2
Andrew de los Reyes [Fri, 10 May 2013 19:38:43 +0000 (12:38 -0700)]
Revert "Add option -c to attempt downloading and displaying screenshot."

BUG=chromium:239890
TEST=mtedit
'https://feedback.corp.google.com/#/Report/835148591?context=ri'
worked

This reverts commit dc6e0fb46820c3acf5a5d1248383e44094159578.

Change-Id: Ibf7e5aee04be4c08af608e85d597c9eb8386ce22
Reviewed-on: https://gerrit.chromium.org/gerrit/50867
Commit-Queue: Andrew de los Reyes <adlr@chromium.org>
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Tested-by: Andrew de los Reyes <adlr@chromium.org>
18 months agoAdd option -c to attempt downloading and displaying screenshot. 67/50667/6
WeiNan-Peter, Wen [Thu, 9 May 2013 17:11:35 +0000 (13:11 -0400)]
Add option -c to attempt downloading and displaying screenshot.

Only available in touchscreen view. An error will be displayed if a
screenshot is requested but not available for a particular feedback url.
The -c option is needed when using "-d -o foo" if the screenshot should
also be downloaded as foo.jpg.

BUG=chromium:237142
TEST=Works for feedback url with and without screenshots. No effect on
other code paths without the -c option.

Change-Id: I680dfd03ec7b538809c9b6d8d30459b74ff09406
Reviewed-on: https://gerrit.chromium.org/gerrit/50667
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Commit-Queue: WeiNan-Peter, Wen <wnwen@chromium.org>
Tested-by: WeiNan-Peter, Wen <wnwen@chromium.org>
18 months agotrimmer.cc: Better error handling 65/50465/3
Andrew de los Reyes [Wed, 8 May 2013 16:29:11 +0000 (09:29 -0700)]
trimmer.cc: Better error handling

BUG=chromium:239070
TEST=Able to make and replay new Spring regression test

Change-Id: I4cdedb6dc74e1280916bb0169ea3d9f25e8260d3
Reviewed-on: https://gerrit.chromium.org/gerrit/50465
Reviewed-by: Dennis Kempin <denniskempin@chromium.org>
Commit-Queue: Andrew de los Reyes <adlr@chromium.org>
Tested-by: Andrew de los Reyes <adlr@chromium.org>
18 months agoAdd checkbox for touch screen specific UI. 12/50312/3
WeiNan-Peter, Wen [Thu, 2 May 2013 20:46:28 +0000 (16:46 -0400)]
Add checkbox for touch screen specific UI.

Static resizing of input pane from 480x320 to 1080x720 for touch screen
mode.

BUG=chromium:237141
TEST=Both views work and loading either type of log automatically
switches to that view.

Change-Id: I04264890e84370b30e55f40c7c14f5f208327dce
Reviewed-on: https://gerrit.chromium.org/gerrit/50312
Commit-Queue: WeiNan-Peter, Wen <wnwen@chromium.org>
Tested-by: WeiNan-Peter, Wen <wnwen@chromium.org>
Reviewed-by: WeiNan-Peter, Wen <wnwen@chromium.org>
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
18 months agoIndent mtedit.html. Pure refactoring. 24/49924/3 release-R28-4100.B stabilize-4100.38.B stabilize-spring-4100.53.B toolchainB
WeiNan-Peter, Wen [Thu, 2 May 2013 18:58:21 +0000 (14:58 -0400)]
Indent mtedit.html. Pure refactoring.

BUG=None
TEST=Still works, no logic changes.

Change-Id: I29f69259c8cf55a30086f056b4317cf547bdb3b7
Reviewed-on: https://gerrit.chromium.org/gerrit/49924
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Robert Flack <flackr@chromium.org>
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Commit-Queue: WeiNan-Peter, Wen <wnwen@chromium.org>
Tested-by: WeiNan-Peter, Wen <wnwen@chromium.org>
18 months agoLoad and view touchscreen logs. 22/49922/2
WeiNan-Peter, Wen [Thu, 2 May 2013 18:48:52 +0000 (14:48 -0400)]
Load and view touchscreen logs.

BUG=chromium:233558
TEST=Both file and feedback urls work.

Change-Id: I847243cb113e29a631d679735f910288422e4713
Reviewed-on: https://gerrit.chromium.org/gerrit/49922
Reviewed-by: Robert Flack <flackr@chromium.org>
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Commit-Queue: WeiNan-Peter, Wen <wnwen@chromium.org>
Tested-by: WeiNan-Peter, Wen <wnwen@chromium.org>
18 months agoAdd README to mttools project. 19/49919/2
WeiNan-Peter, Wen [Thu, 2 May 2013 18:36:43 +0000 (14:36 -0400)]
Add README to mttools project.

BUG=chromium:237137
TEST=No logic change, only adding text.

Change-Id: Ie1dddbe105c3a0c4204268979d27ba7d1195736a
Reviewed-on: https://gerrit.chromium.org/gerrit/49919
Reviewed-by: Robert Flack <flackr@chromium.org>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: WeiNan-Peter, Wen <wnwen@chromium.org>
Tested-by: WeiNan-Peter, Wen <wnwen@chromium.org>
19 months agoreplay: Read the rest of the X properties 77/49077/3 stabilize-4068.0.B
Che-Liang Chiou [Wed, 24 Apr 2013 19:27:56 +0000 (12:27 -0700)]
replay: Read the rest of the X properties

Not all X properties are read by libevdev and thus those unread
properties cause CheckIntegrity error.  In addition, CMT uses some of
the X properties to override hardware properties from evdev; we should
do the same thing here.

BUG=none
TEST=Create touchtests for magic mouse, and no CheckIntegrity error

Change-Id: I210033b33741258b611918963f733d5e311fc294
Reviewed-on: https://gerrit.chromium.org/gerrit/49077
Tested-by: Che-Liang Chiou <clchiou@chromium.org>
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Commit-Queue: Che-Liang Chiou <clchiou@chromium.org>

19 months agoreplay: allow to be run in GDB mode 30/48730/3
Dennis Kempin [Sat, 20 Apr 2013 00:09:47 +0000 (17:09 -0700)]
replay: allow to be run in GDB mode

BUG=chromium:233823
TEST=see other CL

Change-Id: I95aa1ba21351dafbdd80a4883219674dfd724e3c
Reviewed-on: https://gerrit.chromium.org/gerrit/48730
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Commit-Queue: Dennis Kempin <denniskempin@chromium.org>
Tested-by: Dennis Kempin <denniskempin@chromium.org>
19 months agomtedit: Support --evdev parameter 54/47054/2 stabilize-4008.0.B stabilize-4035.0.B
Dennis Kempin [Mon, 1 Apr 2013 22:06:35 +0000 (15:06 -0700)]
mtedit: Support --evdev parameter

Support --evdev parameter to specify the evdev log file to use.

BUG=chromium:225550
TEST=mtedit test.log -e test.evdev

Change-Id: I478590dacc4dd2049dc42aab0bda5c4df60fc91c
Reviewed-on: https://gerrit.chromium.org/gerrit/47054
Reviewed-by: Charlie Mooney <charliemooney@chromium.org>
Tested-by: Dennis Kempin <denniskempin@chromium.org>
Commit-Queue: Dennis Kempin <denniskempin@chromium.org>

19 months agoMTEdit: Support loading local report archives directly 07/46907/3
Dennis Kempin [Fri, 29 Mar 2013 21:21:42 +0000 (14:21 -0700)]
MTEdit: Support loading local report archives directly

Instead of downloading them from the feedback report we can now also
open the zip/bz2 archives that we already downloaded.

BUG=chromium:217358
TEST=mtedit report-....bz2

Change-Id: Iff647b4de79ccf3fa5bdf01fa3a4ac9089497b74
Reviewed-on: https://gerrit.chromium.org/gerrit/46907
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Commit-Queue: Dennis Kempin <denniskempin@chromium.org>
Tested-by: Dennis Kempin <denniskempin@chromium.org>
19 months agoReplay: Run in directory of event file 92/46892/2
Dennis Kempin [Fri, 29 Mar 2013 18:24:41 +0000 (11:24 -0700)]
Replay: Run in directory of event file

Instead of running the replay processes in the cwd, the process will run
in the directory of the event file. This allows local files to be
accessed.

BUG=chromium:214518
TEST=Test with Change-Id: I1af3d3f821f9b60671eb2ffdf887123a60ddd9b5

Change-Id: Id8191d854cc684468c970f78d0488b0bde2aa708
Reviewed-on: https://gerrit.chromium.org/gerrit/46892
Reviewed-by: Charlie Mooney <charliemooney@chromium.org>
Commit-Queue: Dennis Kempin <denniskempin@chromium.org>
Tested-by: Dennis Kempin <denniskempin@chromium.org>
19 months agoreplay: PropProvider now injects properties as they are created 07/46807/3
Dennis Kempin [Thu, 28 Mar 2013 21:46:12 +0000 (14:46 -0700)]
replay: PropProvider now injects properties as they are created

This mimics the Xorg behavior for properties. This CL also cleans up
some of the code by storing all properties as strings and using
lexical_cast to coerce them to the target type. This eliminates much
of the conversion code.

BUG=chromium:24762
TEST=run touchtests and compare to before. No regressions.

Change-Id: If5aad298a46916c35fb1f259f14d0fda065cd366
Reviewed-on: https://gerrit.chromium.org/gerrit/46807
Reviewed-by: Charlie Mooney <charliemooney@chromium.org>
Tested-by: Charlie Mooney <charliemooney@chromium.org>
Commit-Queue: Dennis Kempin <denniskempin@chromium.org>

19 months agomtedit: support for new zip log files including multiple devices 10/46710/3
Dennis Kempin [Wed, 27 Mar 2013 23:03:46 +0000 (16:03 -0700)]
mtedit: support for new zip log files including multiple devices

mtedit will now prompt whenever it encounters multiple log files inside
the tarball. Also it now supports the new Zip format of feedback reports

BUG=chromium:224438
TEST=mtedit with one of the latest feedback reports

Change-Id: Ie114ed178a134234c04d1a20d11484bde10527d8
Reviewed-on: https://gerrit.chromium.org/gerrit/46710
Commit-Queue: Dennis Kempin <denniskempin@chromium.org>
Reviewed-by: Dennis Kempin <denniskempin@chromium.org>
Tested-by: Dennis Kempin <denniskempin@chromium.org>
19 months agoreplay: Added support for different device classes 75/46675/3
Dennis Kempin [Wed, 27 Mar 2013 21:15:27 +0000 (14:15 -0700)]
replay: Added support for different device classes

Gestures supports different device classes, such as multitouch mice.
This CL adds a parameter to replay to specify the device class.

BUG=chromium:24220
TEST=generate a test case with a multi touch mouse

Change-Id: Ia307b5196239cd27b5726ad952dee35e0ad9fe77
Reviewed-on: https://gerrit.chromium.org/gerrit/46675
Commit-Queue: Dennis Kempin <denniskempin@chromium.org>
Reviewed-by: Dennis Kempin <denniskempin@chromium.org>
Tested-by: Dennis Kempin <denniskempin@chromium.org>
19 months agomtedit: show error when tar file cannot be read 47/46547/3
Dennis Kempin [Tue, 26 Mar 2013 20:58:46 +0000 (13:58 -0700)]
mtedit: show error when tar file cannot be read

sometimes the tarball is empty or just does not contain the file we are
looking for.

BUG=chromium:187044
TEST=see bug report. run command, should show error.

Change-Id: I29b7ab4f4061f0311bb8f2a0efaef7b248507c83
Reviewed-on: https://gerrit.chromium.org/gerrit/46547
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Tested-by: Dennis Kempin <denniskempin@chromium.org>
Commit-Queue: Dennis Kempin <denniskempin@chromium.org>

20 months agoReplay: Read info from log file 00/45500/5 release-R27-3912.B stabilize-3881.0.B stabilize-3912.79.B toolchainA
Dennis Kempin [Thu, 14 Mar 2013 21:52:51 +0000 (14:52 -0700)]
Replay: Read info from log file

This CL allows replay to read device info from log files. It allows
new-style log files to be replayed without a matching device file.
Information read from the log file will always override information from
the device file.

BUG=chromium-os:38859
TEST=run touchtests. (it will automatically recompile replay)

Change-Id: I220dc8adaebf508eb20f1971af0d721dcdf0a455
Reviewed-on: https://gerrit.chromium.org/gerrit/45500
Commit-Queue: Dennis Kempin <denniskempin@chromium.org>
Reviewed-by: Dennis Kempin <denniskempin@chromium.org>
Tested-by: Dennis Kempin <denniskempin@chromium.org>
20 months agoReplay: Refactoring - use FILE* instead of streams 14/43314/5
Dennis Kempin [Thu, 14 Feb 2013 21:54:48 +0000 (13:54 -0800)]
Replay: Refactoring - use FILE* instead of streams

The underlying libraries are working with the C FILE api, but
replay is working with C++ iostreams. This is causing troubles
and unnecessary conversions. This refactoring removes the
GenericStream class and replaces it with a Stream class. The
Stream class wraps a FILE pointer to allow it to be used with RAII
in C++ code.
The code has been updated to reflect the change. Properties are
no longer read from a stream, but provided as a string which is read in
the main() function
The evemu_device class is deprecated and will be removed in a follow
CL.
Plus this CL contains a few style guideline cleanups!

BUG=chromium-os:38304
TEST=make tests

Change-Id: I78616a679d7fc3ff55a1fec49a0e09f47f54374c
Reviewed-on: https://gerrit.chromium.org/gerrit/43314
Commit-Queue: Dennis Kempin <denniskempin@chromium.org>
Reviewed-by: Dennis Kempin <denniskempin@chromium.org>
Tested-by: Dennis Kempin <denniskempin@chromium.org>
20 months agomtedit: Show SwipeLift gestures 12/44412/2 factory-spring-3842.B
Andrew de los Reyes [Fri, 1 Mar 2013 20:36:40 +0000 (12:36 -0800)]
mtedit: Show SwipeLift gestures

BUG=chromium-os:39445
TEST=Manually saw them in viewer

Change-Id: Id2dcbe4a2e80a626bf16ffc42ef3a074fec869a7
Reviewed-on: https://gerrit.chromium.org/gerrit/44412
Reviewed-by: Dennis Kempin <denniskempin@chromium.org>
Commit-Queue: Andrew de los Reyes <adlr@chromium.org>
Tested-by: Andrew de los Reyes <adlr@chromium.org>
20 months agoMakefile: Does not abort on errors 00/44300/3
Dennis Kempin [Thu, 28 Feb 2013 19:47:25 +0000 (11:47 -0800)]
Makefile: Does not abort on errors

The foreach loop writes all commands in one line.. which causes make not
to abort if one command fails. This way make result is successful even
though there were build errors.

BUG=chromium-os:39367
TEST=add a build error to gestures/libevdev/replay
then run $ make in-place
check $ echo $?

Change-Id: I15a0fe3f3f111c61576bae1e55316b979751535f
Reviewed-on: https://gerrit.chromium.org/gerrit/44300
Commit-Queue: Dennis Kempin <denniskempin@chromium.org>
Reviewed-by: Dennis Kempin <denniskempin@chromium.org>
Tested-by: Dennis Kempin <denniskempin@chromium.org>
20 months agofix Makefile for ebuild per platform 25/44025/8 firmware-spring-3824.4.B firmware-spring-3824.55.B firmware-spring-3824.84.B firmware-spring-3824.B firmware-spring-3833.B
Chung-yih Wang [Tue, 26 Feb 2013 07:24:10 +0000 (15:24 +0800)]
fix Makefile for ebuild per platform

As mttools is required when the regression test is running as a
BVT test, the patch tries to install the replay utilities into
touchpad-tests framework for emerge target instead.

BUG=chromium-os:37644
TEST=in chroot, the command 'sudo make install' should make no
  difference with the patch. For emerge on a target board,
  try the following steps:
    1. setup_board --board=lumpy
    2. cros_workon --board=lumpy start mttools
    3. emerge-lumpy mttools
  And check if the mtlib and mtedit under mttools are built and
are installed under
    /build/lumpy/usr/local/autotest/client/deps/touchpad-tests/framework

Change-Id: Id7bf6bfa9d296dd77fb019c41914505063b1762d
Reviewed-on: https://gerrit.chromium.org/gerrit/44025
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Joseph Shyh-In Hwang <josephsih@chromium.org>
Commit-Queue: Chung-yih Wang <cywang@chromium.org>
Tested-by: Chung-yih Wang <cywang@chromium.org>
20 months agoReplay: Updated to use in-place folders from source tree 65/44065/2
Dennis Kempin [Tue, 26 Feb 2013 19:10:54 +0000 (11:10 -0800)]
Replay: Updated to use in-place folders from source tree

Replay can now be compiled and run without having libevdev and gestures
installed into the chroot, but installed into the in-place folder inside
their source folders.

BUG=chromium-os:39158
TEST=remove old symlinks in /usr/lib
then run in touchpad-tests:
$ make setup-in-place
$ touchtests

Change-Id: Ic59dc513dcb1d25fbf29b4a33e4d199f22de46c8
Reviewed-on: https://gerrit.chromium.org/gerrit/44065
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Commit-Queue: Dennis Kempin <denniskempin@chromium.org>
Tested-by: Dennis Kempin <denniskempin@chromium.org>
20 months agomttools: Updating common.mk to ToT 33/43933/2
Ryan Harrison [Mon, 25 Feb 2013 20:57:21 +0000 (15:57 -0500)]
mttools: Updating common.mk to ToT

This update replaces the current common.mk used in this project with the newest
version. This will allow all of the common.mk based projects to be on the same
version for debugging and enables profiling support.

BUG=chromium-os:37854
TEST=Per denniskempin@'s instructions ran `sudo make setup-in-place` to confirm
     that the package still built.

Change-Id: I088f46f7950099f8f9e5e2f2cd8110a5d05f0195
Reviewed-on: https://gerrit.chromium.org/gerrit/43933
Tested-by: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Dennis Kempin <denniskempin@chromium.org>
Tested-by: Dennis Kempin <denniskempin@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>

21 months agoAdded in-place make target 16/43816/2
Dennis Kempin [Fri, 22 Feb 2013 20:56:45 +0000 (12:56 -0800)]
Added in-place make target

The in-place make target will redirect the target to make in-place
for libevdev and gestures. It will also rebuild replay if necessary.
The setup-in-place command sets up all dependencies with symlinks to
the source folder.

BUG=chromium-os:38304
TEST=see touchpad-tests

Change-Id: I76adfcd21b68a32a29aefe4e8fe7bacb915c409d
Reviewed-on: https://gerrit.chromium.org/gerrit/43816
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Commit-Queue: Dennis Kempin <denniskempin@chromium.org>
Tested-by: Dennis Kempin <denniskempin@chromium.org>
21 months agoMoved common.mk to project root 15/43815/2
Dennis Kempin [Fri, 22 Feb 2013 18:49:23 +0000 (10:49 -0800)]
Moved common.mk to project root

This allows common.mk to be automatically updated.

BUG=chromium-os:39108
TEST=make

Change-Id: I1f7582c73f4e9689fe5ae57e796f385d0578d4b5
Reviewed-on: https://gerrit.chromium.org/gerrit/43815
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Commit-Queue: Dennis Kempin <denniskempin@chromium.org>
Tested-by: Dennis Kempin <denniskempin@chromium.org>
21 months agoreplay: Update to use latest version of baselib 47/43747/2
Dennis Kempin [Thu, 21 Feb 2013 23:29:18 +0000 (15:29 -0800)]
replay: Update to use latest version of baselib

With gestures being updated a new baselib version we have to link
against the same one.

BUG=chromium-os:39125
TEST=make
then run touchtests. It works again.

Change-Id: I4303f1a403788d2b793cf539b295be34f52f463a
Reviewed-on: https://gerrit.chromium.org/gerrit/43747
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Commit-Queue: Dennis Kempin <denniskempin@chromium.org>
Tested-by: Dennis Kempin <denniskempin@chromium.org>
21 months agoMTEdit: Load matching .evdev and .system log files 36/43636/2
Dennis Kempin [Wed, 20 Feb 2013 22:05:19 +0000 (14:05 -0800)]
MTEdit: Load matching .evdev and .system log files

When loading log files from disk, filename.evdev and .system
should be loaded too. This allows logfiles on the disk to be treated
the same way as logfiles downloaded.

BUG=chromium-os:38304
TEST=Required for touchtests to work with latest CL, check if it does!

Change-Id: Ia8b2acb2dda9391faf2e78e808cb6c3df069dab5
Reviewed-on: https://gerrit.chromium.org/gerrit/43636
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Commit-Queue: Dennis Kempin <denniskempin@chromium.org>
Tested-by: Dennis Kempin <denniskempin@chromium.org>
21 months agoMTEdit: Server was looking for mtview.html which is called mtedit.html 50/42950/3 release-R26-3701.B stabilize-3701.30.0 stabilize-3701.30.0b stabilize-3701.46.B stabilize-3701.81.B stabilize-bluetooth-smart toolchain-3701.42.B
Dennis Kempin [Fri, 8 Feb 2013 21:59:25 +0000 (13:59 -0800)]
MTEdit: Server was looking for mtview.html which is called mtedit.html

Proxy cache was hiding this issue. Now the server replies with the
correct HTML code.

BUG=chromium-os:38686
TEST=mtedit -s
Force reload the page

Change-Id: I7c11e90f782c92a974e1dd62a2c6d394b27c7e81
Reviewed-on: https://gerrit.chromium.org/gerrit/42950
Commit-Queue: Dennis Kempin <denniskempin@chromium.org>
Reviewed-by: Dennis Kempin <denniskempin@chromium.org>
Tested-by: Dennis Kempin <denniskempin@chromium.org>
21 months agoPorted CL 42876: Don't chdir 49/42949/4
Dennis Kempin [Fri, 8 Feb 2013 21:46:17 +0000 (13:46 -0800)]
Ported CL 42876: Don't chdir

This applies the last change from on the original source code
of tpview. Further development happens only in this repository.

BUG=chromium-os:38686
TEST=none

Change-Id: I3728eef56f0abd96d452ef4fa4e756390146fb66
Reviewed-on: https://gerrit.chromium.org/gerrit/42949
Commit-Queue: Dennis Kempin <denniskempin@chromium.org>
Reviewed-by: Dennis Kempin <denniskempin@chromium.org>
Tested-by: Dennis Kempin <denniskempin@chromium.org>
21 months agoAdded Package Layout and Makefile 99/42899/4
Dennis Kempin [Thu, 7 Feb 2013 22:26:37 +0000 (14:26 -0800)]
Added Package Layout and Makefile

The makefile installs a pth file into the python folders to make the
source folders directly discoverable in the module search path.
It also installs symlinks to /usr/bin for mtedit.
mtedit.py had to be renamed to main.py, otherwise python has conflicts
with mtedit.py and the package name mtedit.

BUG=chromium-os:38686
TEST=make install

Change-Id: I76d694c4cbb3a129c52941d15b016c78a96f22ea
Reviewed-on: https://gerrit.chromium.org/gerrit/42899
Reviewed-by: Dennis Kempin <denniskempin@chromium.org>
Commit-Queue: Dennis Kempin <denniskempin@chromium.org>
Tested-by: Dennis Kempin <denniskempin@chromium.org>
21 months agoAdded replay tool to mtlib 98/42898/2
Dennis Kempin [Wed, 6 Feb 2013 21:24:44 +0000 (13:24 -0800)]
Added replay tool to mtlib

MTLib will contain python modules to common functionality.
All command line tools (MTEdit, MTPlay and Touchtests) will need
access to the replay tool for either replays or trimming.
The C++ replay tool itself is "hidden" inside mtlib as it is only to be
accessed via the python module replay.py.
The code is an exact copy of the source from touchpad-tests/replay

BUG=chromium-os:38686
TEST=cd mtlib/replay && make tests
All tests pass.

Change-Id: If315e377487c534b62b3fdff56858b4069d153c7
Reviewed-on: https://gerrit.chromium.org/gerrit/42898
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Commit-Queue: Dennis Kempin <denniskempin@chromium.org>
Tested-by: Dennis Kempin <denniskempin@chromium.org>
21 months agoRenamed MTView to MTEdit 97/42897/2
Dennis Kempin [Wed, 6 Feb 2013 21:20:57 +0000 (13:20 -0800)]
Renamed MTView to MTEdit

it's not just a viewer anymore, but also editing/trimming files.
An editor is also a viewer, so let's switch the name as long as it's
still easy.

BUG=chromium-os:38686
TEST=none

Change-Id: I6b312ef744745464557d1c88ac9ffc6e4a24fc2b
Reviewed-on: https://gerrit.chromium.org/gerrit/42897
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Commit-Queue: Dennis Kempin <denniskempin@chromium.org>
Tested-by: Dennis Kempin <denniskempin@chromium.org>
21 months agomtview: Initial commit with current source from gestures/tpview 46/42746/1
Dennis Kempin [Wed, 6 Feb 2013 19:18:21 +0000 (11:18 -0800)]
mtview: Initial commit with current source from gestures/tpview

Renamed tpview to mtview.

BUG=chromium-os:38686
TEST=none