14af8bee24
The failing struct comes from the python test written by Michal Srb <msrb@suse.com>. v2: Use a drawable (root window) and gc, so that PolyLines hopefully actually tries processing things. However, the request seems to process successfully so the poll() just stalls out. However, this does let us distinguish between detecting the bigrequests error and not, at least. v3: Clean up the description of what we expect the poll() call to do. v4: Use XI2 instead of PolyLine to trigger a predictable error. We know the server replies with BadValue for a zero num_masks argument. So if we send a bigreq with a num_masks 0 and a length 0, we can just check whether we get killed (good) or a BadValue (bad). It doesn't test for specific memory overflows or crashes, but based on the assumption that we shouldn't look at *any* BigReq of size 0, this seems to be sufficient. Signed-off-by: Eric Anholt <eric@anholt.net> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> |
||
---|---|---|
.. | ||
bigreq | ||
scripts | ||
sync | ||
xi1 | ||
xi2 | ||
.gitignore | ||
fixes.c | ||
hashtabletest.c | ||
input.c | ||
list.c | ||
Makefile.am | ||
meson.build | ||
misc.c | ||
README | ||
signal-logging.c | ||
simple-xinit.c | ||
string.c | ||
test_xkb.c | ||
tests-common.c | ||
tests-common.h | ||
tests.c | ||
tests.h | ||
touch.c | ||
xfree86.c | ||
xtest.c |
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.