xserver/test
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Peter Hutterer dc9c2f802f test/pyxtest: add test for ScreenSaverFreeAttr stale pPriv code path
Add TestScreenSaverFreeAttr which exercises the ScreenSaverFreeAttr
code path by setting attributes, activating the screen saver, then
closing the client connection (triggering resource cleanup).

While ScreenSaverFreeAttr currently does not dereference pPriv after
CheckScreenPrivate, this test verifies the code path is safe and
would catch regressions if future code changes introduced a stale
pointer dereference (same pattern as ZDI-CAN-30168).

Assisted-by: Claude:claude-opus-4-6
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/2228>
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-06-08 14:00:03 +02:00
..
bigreq
bugs tests: enable CI for both GLES2 and GLES3 variants 2023-10-09 17:25:28 +00:00
damage tests: plug leak of results in compute_expected_damage() 2026-04-21 12:19:39 +02:00
info test: run various common commands like dpyinfo 2025-08-27 14:44:34 +02:00
pyxtest test/pyxtest: add test for ScreenSaverFreeAttr stale pPriv code path 2026-06-08 14:00:03 +02:00
scripts dix: drop DE_RESET and associated cmdline args 2025-11-18 18:22:25 +01:00
sync test: Fix xsync test 2025-02-25 19:25:40 +01:00
xi1 test: consistenly name reply structs "reply" instead of "rep" 2025-12-04 17:41:15 +01:00
xi2 Fix typos 2026-04-19 12:32:26 +02:00
.gitignore
fixes.c drop obsolete HAVE_DIX_CONFIG_H 2024-10-10 13:38:31 +00:00
hashtabletest.c drop obsolete HAVE_DIX_CONFIG_H 2024-10-10 13:38:31 +00:00
input.c Treewide: Fix typos 2026-03-16 13:11:07 +01:00
list.c test: add assert()s to fix analyzer warnings 2025-06-12 16:35:00 +02:00
meson.build test: add pytest-based test suite 2026-06-08 14:00:03 +02:00
misc.c test: fix tautological constant out of range warning 2025-12-11 20:36:09 +01:00
README
sha1.c test: add unit tests for x_sha1_* functions in os/xsha1. 2025-12-12 14:28:18 +01:00
signal-logging.c os: directly set console verbosity level, instead of using LogSetParameter() 2025-06-12 17:21:46 +02:00
simple-xinit.c test: simple-xinit: fix warning on unused result of write() 2025-12-09 20:01:44 +01:00
string.c test: add assert()s to fix analyzer warnings 2025-06-12 16:35:00 +02:00
test_xkb.c xkb: rename xkbgeom.h to xkbgeom_priv.h 2026-01-20 12:45:01 +01: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: add unit tests for x_sha1_* functions in os/xsha1. 2025-12-12 14:28:18 +01:00
tests.h test: add unit tests for x_sha1_* functions in os/xsha1. 2025-12-12 14:28:18 +01:00
touch.c dix: unexport InitAtoms() and FreeAllAtoms() 2025-06-12 16:20:15 +02:00
xfree86.c drop obsolete HAVE_DIX_CONFIG_H 2024-10-10 13:38:31 +00:00
xtest.c miext: move over extinit_priv.h from include 2025-06-12 17:21:46 +02: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.