Clone this repo:
  1. 4c32bef Set "Event Logging Enable" property for all tests by Harry Cutts · 9 weeks ago factory-strongbad-13963.B main release-R92-13982.B stabilize-13935.B stabilize-13942.B stabilize-13970.B stabilize-13971.B stabilize-13974.B stabilize-13983.B stabilize-14013.B stabilize-14023.B stabilize-14026.B stabilize-14029.B stabilize-14031.B stabilize-RUST-13932.B
  2. d289d9f Add presubmit check for oppressive language by Harry Cutts · 9 months ago factory-asurada-13929.B factory-dedede-13683.B factory-puff-13813.B factory-test-13683.B factory-volteer-13600.B factory-zork-13700.B firmware-asurada-13885.B firmware-dedede-13606.B firmware-quiche-13883.B firmware-trogdor-13577.B firmware-volteer-13672.130.B firmware-volteer-13672.148.B firmware-volteer-13672.156.B firmware-volteer-13672.39.B firmware-volteer-13672.47.B firmware-volteer-13672.81.B firmware-volteer-13672.B master release-R88-13597.B release-R89-13729.B release-R90-13816.B release-R91-13904.B stabilize-13525.B stabilize-13532.B stabilize-13591.B stabilize-13597.103.B stabilize-13597.105.B stabilize-13597.66.B stabilize-13597.67.B stabilize-13597.68.B stabilize-13597.69.B stabilize-13597.70.B stabilize-13597.71.B stabilize-13597.84.B stabilize-13597.85.B stabilize-13597.90.B stabilize-13597.94.B stabilize-13597.95.B stabilize-13597.97.B stabilize-13605.B stabilize-13654.B stabilize-13729.16.B stabilize-13729.45.B stabilize-13729.49.B stabilize-13729.56.B stabilize-13729.57.B stabilize-13729.72.B stabilize-13768.B stabilize-13799.B stabilize-13816.40.B stabilize-13816.51.B stabilize-13816.53.B stabilize-13816.55.B stabilize-13816.63.B stabilize-13816.64.B stabilize-13816.80.B stabilize-13816.82.B stabilize-13821.B stabilize-13836.B stabilize-13851.B stabilize-13856.B stabilize-13895.B stabilize-13904.34.B stabilize-13904.41.B stabilize-13904.42.B stabilize-13904.43.B stabilize-13904.44.B stabilize-13904.47.B stabilize-13904.48.B stabilize-13904.49.B stabilize-13904.55.B stabilize-13904.58.B stabilize-13904.59.B stabilize-13904.62.B stabilize-13904.66.B stabilize-13904.67.B stabilize-LTS-13816.60.B stabilize-ambassador-13597.79.B stabilize-coil-13902.B stabilize-glibc-13901.B stabilize-quickfix-13597.30.B stabilize-quickfix-13729.60.B stabilize-quickfix-13729.73.B stabilize-quickfix-13729.84.B stabilize-quickfix-13816.67.B stabilize-rust-13555.B stabilize-rust-13562.B stabilize-rust-13613.B stabilize-rust-13720.B stabilize-rust-13776.B stabilize-rust-13795.B stabilize-rust-13836.B
  3. 2c69dd7 README: fix links by Harry Cutts · 11 months ago factory-test-13517.B factory-trogdor-13443.B factory-zork-13427.B firmware-volteer-13521.B firmware-zork-13434.B release-R86-13421.B release-R87-13505.B stabilize-13421.102.B stabilize-13421.103.B stabilize-13421.42.B stabilize-13421.53.B stabilize-13421.73.B stabilize-13421.80.B stabilize-13421.89.B stabilize-13421.96.B stabilize-13421.99.B stabilize-13482.B stabilize-13505.1.B stabilize-13505.100.B stabilize-13505.111.B stabilize-13505.63.B stabilize-13505.65.B stabilize-13505.73.B stabilize-13505.85.B stabilize-quickfix-13421.100.B stabilize-quickfix-13421.74.B stabilize-rust-13514.B
  4. f023614 Decode standard output when recompilation fails by Harry Cutts · 11 months ago
  5. ec8fc23 Add tests to validate scroll behavior on BT mouse by Jora Jacobi · 1 year, 1 month ago factory-endeavour-13295.B factory-puff-13329.B firmware-endeavour-13259.B firmware-puff-13324.B release-R85-13310.B stabilize-13310.72.B stabilize-13310.74.B stabilize-13310.83.B stabilize-13310.94.B stabilize-13310.99.B stabilize-13360.B stabilize-lazor-13278.B stabilize-quickfix-13310.73.B stabilize-quickfix-13310.76.B stabilize-quickfix-13310.91.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 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.