xserver-multidpi/test
Daniel Stone 59c2c4f645 AllocDevicePair: Ensure XKB privates are initialised
Since we call directly into XKB and may be doing so before the extension
has been initialised, make sure its privates are set up first.  XTest
had a hack to do this itself, but seems cleaner to just make sure we do
it in AllocDevicePair.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
2012-07-10 23:12:39 -07:00
..
xi2 AC_SUBST the GLX_SYS_LIBS 2012-06-22 10:49:06 +10:00
.gitignore Merge branch 'sigsafe-logging-varargs' 2012-07-02 22:35:39 -07:00
ddxstubs.c os: Pass the FatalError message to OsVendorFatalError 2012-03-24 01:07:05 -07:00
fixes.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
hashtabletest.c Xext: add a generic hashtable implementation 2012-04-18 12:49:06 +03:00
input.c Replace padlength tables with inline functions from misc.h 2012-07-09 22:52:30 -07:00
list.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
Makefile.am Move DRI2 from external module to built-in 2012-07-10 00:31:01 -07:00
misc.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
os.c os: add OsBlockSIGIO and OsReleaseSIGIO 2012-07-03 15:56:33 +10:00
README Add a test-suite for in-server unit-testing. 2009-04-28 16:03:56 +10:00
signal-logging.c Add FormatUInt64{,Hex}() for formatting numbers in a signal safe manner 2012-06-21 15:45:22 +10:00
string.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
touch.c test/touch: Initialize device name 2012-06-05 16:04:07 +10:00
xfree86.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
xkb.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
xtest.c AllocDevicePair: Ensure XKB privates are initialised 2012-07-10 23:12:39 -07: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