xserver/test
Peter Hutterer 11c92ffcf5 test: fix the xi2 protocol swapping tests to actually work
This tests override WriteToClient() with their own custom function to
check for validity. Unfortunately they also papered over bugs - to
compare values we had to swap back thus modifying the original reply.

This doesn't really have an effect on most reply handling but for those
with extra data it may affect how they are processed. Fix this by
copying the reply so any of the fields within that we swap is left
as-is and put some basic sanity checks in for the length we pass in.

Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1469>
2024-04-09 06:44:36 +00:00
..
bigreq test: Fix build dependency for bigreq test 2017-12-08 11:36:24 -05:00
bugs tests: enable CI for both GLES2 and GLES3 variants 2023-10-09 17:25:28 +00:00
damage test: #undef NDEBUG so assert is not compiled away 2021-12-08 20:59:21 +00:00
scripts tests: enable CI for both GLES2 and GLES3 variants 2023-10-09 17:25:28 +00:00
sync test: const correctness fix 2017-10-04 11:19:09 -04:00
xi1 test: use a dbg() macro for the test output 2024-01-30 00:15:10 +00:00
xi2 test: fix the xi2 protocol swapping tests to actually work 2024-04-09 06:44:36 +00:00
.gitignore tests: Convert test/ to single binary 2017-01-12 15:01:36 -05:00
README test: Fix typo and drop documentation references to glib. 2015-09-23 10:48:12 -04:00
fixes.c test: switch the unit tests to something resembling a test suite 2024-01-30 00:15:10 +00:00
hashtabletest.c test: use a dbg() macro for the test output 2024-01-30 00:15:10 +00:00
input.c dix: unexport eventconvert.h functions 2024-03-11 12:26:44 +01:00
list.c test: switch the unit tests to something resembling a test suite 2024-01-30 00:15:10 +00:00
meson.build test: fix FTBS on missing xlib includes on NetBSD 2024-04-01 23:41:22 +00:00
misc.c test: switch the unit tests to something resembling a test suite 2024-01-30 00:15:10 +00:00
signal-logging.c os: move out Format*() functions 2024-03-09 17:34:51 +00:00
simple-xinit.c test: simple-xinit: add _X_NORETURN 2024-03-22 00:33:29 +00:00
string.c test: switch the unit tests to something resembling a test suite 2024-01-30 00:15:10 +00:00
test_xkb.c xkb: drop defining XKBSRV_NEED_FILE_FUNCS 2024-02-19 00:44:15 +00:00
tests-common.c test: switch the unit tests to something resembling a test suite 2024-01-30 00:15:10 +00:00
tests-common.h test: switch the unit tests to something resembling a test suite 2024-01-30 00:15:10 +00:00
tests.c test: use a dbg() macro for the test output 2024-01-30 00:15:10 +00:00
tests.h test: use a dbg() macro for the test output 2024-01-30 00:15:10 +00:00
touch.c test: switch the unit tests to something resembling a test suite 2024-01-30 00:15:10 +00:00
xfree86.c test: switch the unit tests to something resembling a test suite 2024-01-30 00:15:10 +00:00
xtest.c test: switch the unit tests to something resembling a test suite 2024-01-30 00:15:10 +00:00

                        X server test suite

This suite contains a set of tests to verify the behaviour of functions used
internally to the server.

= 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" in 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.