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>
diff --git a/tests/screebo-1.0/check_unexpected_fling.log b/tests/screebo-1.0/check_unexpected_fling.log new file mode 100644 index 0000000..a27eea3 --- /dev/null +++ b/tests/screebo-1.0/check_unexpected_fling.log
@@ -0,0 +1,391 @@ +# device: Elan Touchpad +# bit: 0B 00 00 00 00 00 00 00 +# key: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 20 E5 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +# rel: 00 00 00 00 00 00 00 00 +# abs: 03 00 00 13 00 80 63 06 +# led: 00 00 00 00 00 00 00 00 +# prp: 05 00 00 00 00 00 00 00 +# absinfo: 0 0 3987 0 0 31 +# absinfo: 1 0 2493 0 0 31 +# absinfo: 24 0 255 0 0 0 +# absinfo: 25 0 1 0 0 0 +# absinfo: 28 0 15 0 0 0 +# absinfo: 47 0 4 0 0 0 +# absinfo: 48 0 2325 0 0 0 +# absinfo: 49 0 2295 0 0 0 +# absinfo: 53 0 3987 0 0 31 +# absinfo: 54 0 2493 0 0 31 +# absinfo: 57 0 65535 0 0 0 +# absinfo: 58 0 255 0 0 0 +E: 16535.103838 0003 002f 0 +E: 16535.103838 0003 0030 195 +E: 16535.103838 0003 0031 189 +E: 16535.103838 0003 0032 0 +E: 16535.103838 0003 0033 0 +E: 16535.103838 0003 0034 0 +E: 16535.103838 0003 0035 1860 +E: 16535.103838 0003 0036 368 +E: 16535.103838 0003 0037 0 +E: 16535.103838 0003 0038 0 +E: 16535.103838 0003 0039 2089 +E: 16535.103838 0003 003a 12 +E: 16535.103838 0003 003b 0 +E: 16535.103838 0003 002f 1 +E: 16535.103838 0003 0039 -1 +E: 16535.103838 0003 002f 2 +E: 16535.103838 0003 0039 -1 +E: 16535.103838 0003 002f 3 +E: 16535.103838 0003 0039 -1 +E: 16535.103838 0003 002f 4 +E: 16535.103838 0003 0039 -1 +E: 16535.103838 0003 002f 0 +E: 16535.103838 0001 0145 1 +E: 16535.103838 0001 014a 1 +E: 16535.103838 0000 0000 0 +E: 16535.113572 0003 003a 13 +E: 16535.113572 0003 0018 13 +E: 16535.113572 0000 0000 0 +E: 16535.123386 0003 003a 14 +E: 16535.123386 0003 002f 1 +E: 16535.123386 0003 0039 2090 +E: 16535.123386 0003 0035 2472 +E: 16535.123386 0003 0036 283 +E: 16535.123386 0003 003a 14 +E: 16535.123386 0003 001c 2 +E: 16535.123386 0003 0031 126 +E: 16535.123386 0001 0145 0 +E: 16535.123386 0001 014d 1 +E: 16535.123386 0003 0018 14 +E: 16535.123386 0000 0000 0 +E: 16535.133217 0003 002f 0 +E: 16535.133217 0003 003a 15 +E: 16535.133217 0003 001c 4 +E: 16535.133217 0003 0030 252 +E: 16535.133217 0003 0031 195 +E: 16535.133217 0003 002f 1 +E: 16535.133217 0003 003a 15 +E: 16535.133217 0003 001c 3 +E: 16535.133217 0003 0031 189 +E: 16535.133217 0003 0018 15 +E: 16535.133217 0000 0000 0 +E: 16535.142972 0003 002f 0 +E: 16535.142972 0003 0035 1852 +E: 16535.142972 0003 0036 383 +E: 16535.142972 0003 003a 18 +E: 16535.142972 0003 0030 195 +E: 16535.142972 0003 0031 189 +E: 16535.142972 0003 002f 1 +E: 16535.142972 0003 0036 303 +E: 16535.142972 0003 003a 16 +E: 16535.142972 0003 001c 4 +E: 16535.142972 0003 0030 252 +E: 16535.142972 0003 0031 195 +E: 16535.142972 0003 0000 1852 +E: 16535.142972 0003 0001 383 +E: 16535.142972 0003 0018 18 +E: 16535.142972 0000 0000 0 +E: 16535.152870 0003 002f 0 +E: 16535.152870 0003 0035 1839 +E: 16535.152870 0003 0036 410 +E: 16535.152870 0003 003a 21 +E: 16535.152870 0003 0030 252 +E: 16535.152870 0003 0031 195 +E: 16535.152870 0003 002f 1 +E: 16535.152870 0003 0035 2468 +E: 16535.152870 0003 0036 333 +E: 16535.152870 0003 003a 15 +E: 16535.152870 0003 001c 3 +E: 16535.152870 0003 0030 195 +E: 16535.152870 0003 0031 189 +E: 16535.152870 0003 0000 1839 +E: 16535.152870 0003 0001 410 +E: 16535.152870 0003 0018 21 +E: 16535.152870 0000 0000 0 +E: 16535.162685 0003 002f 0 +E: 16535.162685 0003 0035 1822 +E: 16535.162685 0003 0036 471 +E: 16535.162685 0003 003a 20 +E: 16535.162685 0003 0030 195 +E: 16535.162685 0003 0031 189 +E: 16535.162685 0003 002f 1 +E: 16535.162685 0003 0035 2461 +E: 16535.162685 0003 0036 381 +E: 16535.162685 0003 003a 18 +E: 16535.162685 0003 0030 260 +E: 16535.162685 0003 0000 1822 +E: 16535.162685 0003 0001 471 +E: 16535.162685 0003 0018 20 +E: 16535.162685 0000 0000 0 +E: 16535.172604 0003 002f 0 +E: 16535.172604 0003 0035 1796 +E: 16535.172604 0003 0036 570 +E: 16535.172604 0003 0030 260 +E: 16535.172604 0003 002f 1 +E: 16535.172604 0003 0035 2453 +E: 16535.172604 0003 0036 457 +E: 16535.172604 0003 0030 195 +E: 16535.172604 0003 0000 1796 +E: 16535.172604 0003 0001 570 +E: 16535.172604 0000 0000 0 +E: 16535.182206 0003 002f 0 +E: 16535.182206 0003 0035 1779 +E: 16535.182206 0003 0036 683 +E: 16535.182206 0003 003a 16 +E: 16535.182206 0003 0030 195 +E: 16535.182206 0003 002f 1 +E: 16535.182206 0003 0035 2446 +E: 16535.182206 0003 0036 558 +E: 16535.182206 0003 003a 17 +E: 16535.182206 0003 0030 189 +E: 16535.182206 0003 0031 130 +E: 16535.182206 0003 0000 1779 +E: 16535.182206 0003 0001 683 +E: 16535.182206 0003 0018 16 +E: 16535.182206 0000 0000 0 +E: 16535.191845 0003 002f 0 +E: 16535.191845 0003 0035 1771 +E: 16535.191845 0003 0036 760 +E: 16535.191845 0003 003a 17 +E: 16535.191845 0003 002f 1 +E: 16535.191845 0003 0036 627 +E: 16535.191845 0003 003a 15 +E: 16535.191845 0003 0030 195 +E: 16535.191845 0003 0031 189 +E: 16535.191845 0003 0000 1771 +E: 16535.191845 0003 0001 760 +E: 16535.191845 0003 0018 17 +E: 16535.191845 0000 0000 0 +E: 16535.201974 0003 002f 0 +E: 16535.201974 0003 0036 865 +E: 16535.201974 0003 003a 15 +E: 16535.201974 0003 002f 1 +E: 16535.201974 0003 0036 718 +E: 16535.201974 0003 0030 189 +E: 16535.201974 0003 0031 130 +E: 16535.201974 0003 0001 865 +E: 16535.201974 0003 0018 15 +E: 16535.201974 0000 0000 0 +E: 16535.211728 0003 002f 0 +E: 16535.211728 0003 0036 960 +E: 16535.211728 0003 003a 14 +E: 16535.211728 0003 002f 1 +E: 16535.211728 0003 0035 2452 +E: 16535.211728 0003 0036 805 +E: 16535.211728 0003 003a 14 +E: 16535.211728 0003 0030 195 +E: 16535.211728 0003 0031 189 +E: 16535.211728 0003 0001 960 +E: 16535.211728 0003 0018 14 +E: 16535.211728 0000 0000 0 +E: 16535.221462 0003 002f 0 +E: 16535.221462 0003 0035 1781 +E: 16535.221462 0003 0036 1072 +E: 16535.221462 0003 003a 16 +E: 16535.221462 0003 0030 189 +E: 16535.221462 0003 0031 130 +E: 16535.221462 0003 002f 1 +E: 16535.221462 0003 0035 2463 +E: 16535.221462 0003 0036 904 +E: 16535.221462 0003 003a 15 +E: 16535.221462 0003 0030 189 +E: 16535.221462 0003 0031 130 +E: 16535.221462 0003 0000 1781 +E: 16535.221462 0003 0001 1072 +E: 16535.221462 0003 0018 16 +E: 16535.221462 0000 0000 0 +E: 16535.231406 0003 002f 0 +E: 16535.231406 0003 0035 1795 +E: 16535.231406 0003 0036 1189 +E: 16535.231406 0003 003a 14 +E: 16535.231406 0003 0030 195 +E: 16535.231406 0003 0031 189 +E: 16535.231406 0003 002f 1 +E: 16535.231406 0003 0035 2474 +E: 16535.231406 0003 0036 1018 +E: 16535.231406 0003 003a 14 +E: 16535.231406 0003 0030 195 +E: 16535.231406 0003 0031 189 +E: 16535.231406 0003 0000 1795 +E: 16535.231406 0003 0001 1189 +E: 16535.231406 0003 0018 14 +E: 16535.231406 0000 0000 0 +E: 16535.241066 0003 002f 0 +E: 16535.241066 0003 0035 1813 +E: 16535.241066 0003 0036 1290 +E: 16535.241066 0003 003a 13 +E: 16535.241066 0003 001c 4 +E: 16535.241066 0003 0030 252 +E: 16535.241066 0003 0031 195 +E: 16535.241066 0003 002f 1 +E: 16535.241066 0003 0035 2486 +E: 16535.241066 0003 0036 1125 +E: 16535.241066 0003 001c 3 +E: 16535.241066 0003 0000 1813 +E: 16535.241066 0003 0001 1290 +E: 16535.241066 0003 0018 13 +E: 16535.241066 0000 0000 0 +E: 16535.250888 0003 002f 0 +E: 16535.250888 0003 0035 1832 +E: 16535.250888 0003 0036 1390 +E: 16535.250888 0003 003a 15 +E: 16535.250888 0003 0030 189 +E: 16535.250888 0003 0031 130 +E: 16535.250888 0003 002f 1 +E: 16535.250888 0003 0035 2503 +E: 16535.250888 0003 0036 1234 +E: 16535.250888 0003 003a 15 +E: 16535.250888 0003 0030 189 +E: 16535.250888 0003 0031 130 +E: 16535.250888 0003 0000 1832 +E: 16535.250888 0003 0001 1390 +E: 16535.250888 0003 0018 15 +E: 16535.250888 0000 0000 0 +E: 16535.260837 0003 002f 0 +E: 16535.260837 0003 0035 1853 +E: 16535.260837 0003 0036 1489 +E: 16535.260837 0003 003a 13 +E: 16535.260837 0003 0030 195 +E: 16535.260837 0003 0031 189 +E: 16535.260837 0003 002f 1 +E: 16535.260837 0003 0035 2528 +E: 16535.260837 0003 0036 1338 +E: 16535.260837 0003 003a 12 +E: 16535.260837 0003 0030 195 +E: 16535.260837 0003 0031 189 +E: 16535.260837 0003 0000 1853 +E: 16535.260837 0003 0001 1489 +E: 16535.260837 0003 0018 13 +E: 16535.260837 0000 0000 0 +E: 16535.270680 0003 002f 0 +E: 16535.270680 0003 0035 1873 +E: 16535.270680 0003 0036 1564 +E: 16535.270680 0003 003a 12 +E: 16535.270680 0003 0030 189 +E: 16535.270680 0003 0031 130 +E: 16535.270680 0003 002f 1 +E: 16535.270680 0003 0035 2546 +E: 16535.270680 0003 0036 1424 +E: 16535.270680 0003 0030 189 +E: 16535.270680 0003 0031 130 +E: 16535.270680 0003 0000 1873 +E: 16535.270680 0003 0001 1564 +E: 16535.270680 0003 0018 12 +E: 16535.270680 0000 0000 0 +E: 16535.280292 0003 002f 0 +E: 16535.280292 0003 0035 1894 +E: 16535.280292 0003 0036 1640 +E: 16535.280292 0003 0030 195 +E: 16535.280292 0003 0031 189 +E: 16535.280292 0003 002f 1 +E: 16535.280292 0003 0035 2566 +E: 16535.280292 0003 0036 1503 +E: 16535.280292 0003 003a 10 +E: 16535.280292 0003 0030 195 +E: 16535.280292 0003 0031 189 +E: 16535.280292 0003 0000 1894 +E: 16535.280292 0003 0001 1640 +E: 16535.280292 0000 0000 0 +E: 16535.290231 0003 002f 0 +E: 16535.290231 0003 0035 1909 +E: 16535.290231 0003 0036 1692 +E: 16535.290231 0003 003a 11 +E: 16535.290231 0003 002f 1 +E: 16535.290231 0003 0035 2581 +E: 16535.290231 0003 0036 1558 +E: 16535.290231 0003 003a 12 +E: 16535.290231 0003 0030 189 +E: 16535.290231 0003 0031 130 +E: 16535.290231 0003 0000 1909 +E: 16535.290231 0003 0001 1692 +E: 16535.290231 0003 0018 11 +E: 16535.290231 0000 0000 0 +E: 16535.300079 0003 002f 0 +E: 16535.300079 0003 0035 1918 +E: 16535.300079 0003 0036 1725 +E: 16535.300079 0003 003a 13 +E: 16535.300079 0003 0030 189 +E: 16535.300079 0003 0031 130 +E: 16535.300079 0003 002f 1 +E: 16535.300079 0003 0035 2591 +E: 16535.300079 0003 0036 1605 +E: 16535.300079 0003 0000 1918 +E: 16535.300079 0003 0001 1725 +E: 16535.300079 0003 0018 13 +E: 16535.300079 0000 0000 0 +E: 16535.309927 0003 002f 0 +E: 16535.309927 0003 0035 1921 +E: 16535.309927 0003 0036 1748 +E: 16535.309927 0003 003a 15 +E: 16535.309927 0003 002f 1 +E: 16535.309927 0003 0035 2595 +E: 16535.309927 0003 0036 1634 +E: 16535.309927 0003 0030 195 +E: 16535.309927 0003 0031 189 +E: 16535.309927 0003 0000 1921 +E: 16535.309927 0003 0001 1748 +E: 16535.309927 0003 0018 15 +E: 16535.309927 0000 0000 0 +E: 16535.319769 0003 002f 0 +E: 16535.319769 0003 0036 1762 +E: 16535.319769 0003 002f 1 +E: 16535.319769 0003 0036 1649 +E: 16535.319769 0003 003a 11 +E: 16535.319769 0003 0001 1762 +E: 16535.319769 0000 0000 0 +E: 16535.329504 0003 002f 0 +E: 16535.329504 0003 0036 1771 +E: 16535.329504 0003 003a 13 +E: 16535.329504 0003 0030 195 +E: 16535.329504 0003 0031 189 +E: 16535.329504 0003 002f 1 +E: 16535.329504 0003 0036 1655 +E: 16535.329504 0003 0001 1771 +E: 16535.329504 0003 0018 13 +E: 16535.329504 0000 0000 0 +E: 16535.339440 0003 003a 10 +E: 16535.339440 0000 0000 0 +E: 16535.349129 0003 002f 0 +E: 16535.349129 0003 003a 14 +E: 16535.349129 0003 0018 14 +E: 16535.349129 0000 0000 0 +E: 16535.358884 0003 003a 13 +E: 16535.358884 0003 002f 1 +E: 16535.358884 0003 003a 11 +E: 16535.358884 0003 0018 13 +E: 16535.358884 0000 0000 0 +E: 16535.614145 0003 002f 0 +E: 16535.614145 0003 003a 12 +E: 16535.614145 0003 0030 189 +E: 16535.614145 0003 0031 130 +E: 16535.614145 0003 0018 12 +E: 16535.614145 0000 0000 0 +E: 16535.623944 0003 003a 10 +E: 16535.623944 0003 002f 1 +E: 16535.623944 0003 003a 8 +E: 16535.623944 0003 0018 10 +E: 16535.623944 0000 0000 0 +E: 16535.633742 0003 002f 0 +E: 16535.633742 0003 003a 8 +E: 16535.633742 0003 002f 1 +E: 16535.633742 0003 003a 5 +E: 16535.633742 0003 0018 8 +E: 16535.633742 0000 0000 0 +E: 16535.663194 0003 002f 0 +E: 16535.663194 0003 0039 -1 +E: 16535.663194 0003 002f 1 +E: 16535.663194 0003 0039 -1 +E: 16535.663194 0003 0019 0 +E: 16535.663194 0001 014a 0 +E: 16535.663194 0001 014d 0 +E: 16535.663194 0003 0018 0 +E: 16535.663194 0000 0000 0 +E: 16535.663694 0003 002f 0 +E: 16535.663694 0003 0039 -1 +E: 16535.663694 0003 002f 1 +E: 16535.663694 0003 0039 -1 +E: 16535.663694 0003 002f 2 +E: 16535.663694 0003 0039 -1 +E: 16535.663694 0003 002f 3 +E: 16535.663694 0003 0039 -1 +E: 16535.663694 0003 002f 4 +E: 16535.663694 0003 0039 -1
diff --git a/tests/screebo-1.0/check_unexpected_fling.props b/tests/screebo-1.0/check_unexpected_fling.props new file mode 100644 index 0000000..914460c --- /dev/null +++ b/tests/screebo-1.0/check_unexpected_fling.props
@@ -0,0 +1 @@ +{"gestures": {"Tap Drag Enable": false, "Tap Enable": true, "Pointer Sensitivity": 3, "Scroll Sensitivity": 3}} \ No newline at end of file
diff --git a/tests/screebo-1.0/check_unexpected_fling.py b/tests/screebo-1.0/check_unexpected_fling.py new file mode 100644 index 0000000..be9685f --- /dev/null +++ b/tests/screebo-1.0/check_unexpected_fling.py
@@ -0,0 +1,17 @@ +# Copyright 2025 The ChromiumOS Authors +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. +from fuzzy_check import FuzzyCheck +from validators import * + +# This test verifies that a pause after a scroll gesture results +# in a zero-velocity fling, rather than a non-zero velocity fling. + +def Validate(raw, events, gestures): + fuzzy = FuzzyCheck() + fuzzy.expected = [ + FlingStopValidator(), + ScrollValidator(">= 0"), + FlingValidator("== 0"), + ] + return fuzzy.Check(gestures)