Add initial MSC_TIMESTAMP field for existing tests

When tests were originally added for devices which report the
MSC_TIMESTAMP field, MTReplay did not include the initial value in the
evdev log.  This CL retroactively adds an initial value to affected
tests.

Also, modify the expected movement distance for one test where this
adjustment caused a "false regression".  After manually reviewing
the regressed test, there was only a slight adjustment to movement
distance, but the test passed qualitatively.

BUG=b:258267647
TEST=run touchtests

Change-Id: If0a7f373dd49925104c0f3cb19f963f4bbf33f29
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/touchpad-tests/+/4014629
Commit-Queue: Sean O'Brien <[email protected]>
Tested-by: Sean O'Brien <[email protected]>
Reviewed-by: Denis Brockus <[email protected]>
12 files changed
tree: 765abfbc0f47a72fd849fda5d38a86cb0631f7e1
  1. framework/
  2. tests/
  3. .gitignore
  4. DIR_METADATA
  5. Makefile
  6. OWNERS
  7. README.md
  8. touchtests
  9. touchtests.template
  10. unblocked_terms.txt
README.md

Touch tests

Introduction

This repository contains automated tests for Chromium OS's Gestures library. Each test has a log of evdev events which are replayed, a properties file containing gesture properties to set while the Gestures library runs, and a Python function which verifies the output and returns a test score.

Setting up

Assuming that you've followed the developer guide, simply run the following inside your chroot:

(inside)
$ cd ~/trunk/src/platform/touchpad-tests
$ sudo make setup-in-place

Running tests

To run all tests, simply run touchtests. To run one or more specific tests, you can pass a test name or a glob:

(inside)
$ touchtests atlas-1.0/fat-thumb-fail
$ touchtests atlas-1.0/palm-while-typing*

Each test will return a status, with the following meanings:

  • success: the test succeeded, with the given score out of 1.
  • failure: the test failed.
  • error: an error occurred while running the test, so the behavior of the gestures library couldn't be evaluated.
  • incomplete: (baseline tests only) the evdev log for this platform hasn't been created.

Checking for regressions

The --out (or -o) switch creates a report file that future runs can be compared against with the --ref (or -r) switch:

(inside)
$ touchtests --out baseline.json
# (cause some regressions)
$ touchtests --ref baseline.json

The output table will contain a delta column that indicates any regressions or improvements, and an error message will be shown if regressions exist.