| 1 | X server test suite |
| 2 | |
| 3 | This suite contains a set of tests to verify the behaviour of functions used |
| 4 | internally to the server. This test suite is based on glib's testing |
| 5 | framework [1]. |
| 6 | |
| 7 | = How it works = |
| 8 | Through some automake abuse, we link the test programs with the same static |
| 9 | libraries as the Xorg binary. The test suites can then call various functions |
| 10 | and verify their behaviour - without the need to start the server or connect |
| 11 | clients. |
| 12 | |
| 13 | This testing only works for functions that do not rely on a particular state |
| 14 | of the X server. Unless the test suite replicates the expected state, which |
| 15 | may be difficult. |
| 16 | |
| 17 | = How to run the tests = |
| 18 | Run "make check" the test directory. This will compile the tests and execute |
| 19 | them in the order specified in the TESTS variable in test/Makefile.am. |
| 20 | |
| 21 | Each set of tests related to a subsystem are available as a binary that can be |
| 22 | executed directly. For example, run "xkb" to perform some xkb-related tests. |
| 23 | |
| 24 | == Adding a new test == |
| 25 | When adding a new test, ensure that you add a short description of what the |
| 26 | test does and what the expected outcome is. If the test reproduces a |
| 27 | particular bug, using g_test_bug(). |
| 28 | |
| 29 | == Misc == |
| 30 | |
| 31 | The programs "gtester" and "gtester-report" may be used to generate XML/HTML |
| 32 | log files of tests succeeded and failed. |
| 33 | |
| 34 | --------- |
| 35 | |
| 36 | [1] http://library.gnome.org/devel/glib/stable/glib-Testing.html |