xserver-multidpi/test
Peter Hutterer 3304bbff9b Input: Add smooth-scrolling support to GetPointerEvents
For scroll wheel support, we used to send buttons 4/5 and 6/7 for
horizontal/vertical positive/negative scroll events.  For touchpads, we
really want more fine-grained scroll values.  GetPointerEvents now
accepts both old-school scroll button presses, and new-style scroll axis
events, while emitting both types of events to support both old and new
clients.

This works with the new XIScrollClass to mark axes as scrolling axes.
Drivers mark any valuators that send scroll events with SetScrollValuator.
(Currently missing: the XIDeviceChangeEvent being sent when a driver changes
a scroll axis at run-time. This can be added later.)

Note: the SCROLL_TYPE enums are intentionally different values to the XI2
proto values to avoid copy/overlapping range bugs.

Co-authored-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
2011-09-30 09:24:18 +10:00
..
xi2 Input: Add smooth-scrolling support to GetPointerEvents 2011-09-30 09:24:18 +10:00
.gitignore Don't use empty source files 2011-06-23 05:28:31 -07:00
fixes.c fixes: Add support for pointer barriers 2011-05-31 15:10:51 -04:00
input.c Input: Add smooth-scrolling support to GetPointerEvents 2011-09-30 09:24:18 +10:00
list.c Add null-terminated list interface. 2011-08-22 15:56:53 +10:00
Makefile.am test: add a option duplication test 2011-08-22 15:56:48 +10:00
misc.c include: add version_compare helper function 2011-05-13 09:41:50 +10:00
README Add a test-suite for in-server unit-testing. 2009-04-28 16:03:56 +10:00
xfree86.c xfree86: switch options from pointer to XF86OptionPtr 2011-09-27 11:43:36 +10:00
xkb.c test: remove glib dependency 2011-04-21 13:43:43 +10:00
xtest.c test: remove glib dependency 2011-04-21 13:43:43 +10:00

                        X server test suite

This suite contains a set of tests to verify the behaviour of functions used
internally to the server. This test suite is based on glib's testing
framework [1].

= How it works =
Through some automake abuse, we link the test programs with the same static
libraries as the Xorg binary. The test suites can then call various functions
and verify their behaviour - without the need to start the server or connect
clients.

This testing only works for functions that do not rely on a particular state
of the X server. Unless the test suite replicates the expected state, which
may be difficult.

= How to run the tests =
Run "make check" the test directory. This will compile the tests and execute
them in the order specified in the TESTS variable in test/Makefile.am.

Each set of tests related to a subsystem are available as a binary that can be
executed directly. For example, run "xkb" to perform some xkb-related tests.

== Adding a new test ==
When adding a new test, ensure that you add a short description of what the
test does and what the expected outcome is. If the test reproduces a
particular bug, using g_test_bug().

== Misc ==

The programs "gtester" and "gtester-report" may be used to generate XML/HTML
log files of tests succeeded and failed.

---------

[1] http://library.gnome.org/devel/glib/stable/glib-Testing.html