screebo: Add new touchtest to check for unexpected fling after scroll This commit introduces a new touchtest to confirm that the fix for unexpected non-zero flings at the end of a scroll (introduced in http://crrev.com/c/6692511 ) is working correctly. The test specifically verifies that a pause after a scroll results in a zero-velocity fling, ensuring the flag to suppress zero scroll events is disabled as intended. BUG=b:378586077 TEST=unittests, manual testing Cq-Depend: 6700323 Change-Id: Iacfdf3f3631a66f8809148e52a7c8166bd6e0101 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/touchpad-tests/+/6701398 Tested-by: Sairah Amuthan <sairahamuthan@google.com> Commit-Queue: Sairah Amuthan <sairahamuthan@google.com> Reviewed-by: Jingyuan Liang <jingyliang@chromium.org> 
3 files changed
tree: 5c636f489f460639ce5e8c394713ec3a4d42f315
  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 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.