Clone this repo:
  1. 69ad8e1 README.md: update "Setting up" instructions by Harry Cutts · 4 months ago factory-brox-16086.B factory-nissa-16077.B factory-rauru-16167.B firmware-brox-16080.B firmware-cr50-mp-16160.B firmware-cr50-prepvt-16155.B firmware-ec-R132-16093.3.B firmware-ec-R133-16151.2.B firmware-ec-R134-16181.3.B firmware-rauru-16174.B main release-R132-16093.B release-R133-16151.B release-R134-16181.B stabilize-16093.68.B stabilize-16093.78.B stabilize-starline-16082.B stabilize-starline-16084.B stabilize-starline-16093.2.B stabilize-starline-16095.B stabilize-starline-16126.B stabilize-starline-16150.B stabilize-starline-16182.B
  2. 5a3881c Ensure click drag does not lock on to wrong finger by seobrien · 5 months ago firmware-R131-16062.B firmware-ec-R131-16063.2.B release-R131-16063.B stabilize-16055.B stabilize-16063.45.B stabilize-starline-16056.B
  3. 813c56e Modify tests to reflect corrected fling calculation by seobrien · 6 months ago firmware-R130-16032.B release-R130-16033.B stabilize-16033.43.B stabilize-16033.58.B
  4. 2817b65 Modify tests for new clickdown movement timeout by seobrien · 6 months ago
  5. 4c00d57 touchpad-tests: update chroot path in doc by Saketh Pothireddy · 11 months ago firmware-R126-15885.B firmware-R127-15916.B firmware-R128-15963.B firmware-R129-16001.B firmware-android-15949.B firmware-ec-R128-15964.23.B firmware-hps-15892.B firmware-ti50-mp-15980.B firmware-ti50-prepvt-15974.B release-R125-15853.B release-R126-15886.B release-R127-15917.B release-R128-15964.B release-R129-16002.B stabilize-15855.B stabilize-15857.B stabilize-15886.46.B stabilize-15886.63.B stabilize-15886.66.B stabilize-15888.B stabilize-15905.B stabilize-15917.61.B stabilize-15917.65.B stabilize-15926.B stabilize-15964.20.B stabilize-15964.42.B stabilize-15964.9.B stabilize-16002.44.B stabilize-16002.51.B stabilize-hps-15890.B stabilize-quickfix-15886.43.B

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 enter the SDK chroot using the cros_sdk command, then run the following inside:

(inside)
$ cd /mnt/host/source/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.