Testcases: Use Xephyr instead of XDummy

Replace the XDummy script with Xephyr. This is done because of some
changes in the Xorg server that make XDummy difficult to use.

Rename library internal variables and function names to replace "xdummy"
with "xserver" to show this change (except for renaming the package and
lib file for better git history).

Rename the switch `--keep-xdummy-output` to `--keep-xserver-output`.
This switch should now be rarely used because Xephyr requires less set
up.

Replace "xdummy" with "xephyr" in comments and utility help
information. Update docs to show the new dependency.

fixes #1367
This commit is contained in:
Tony Crisci
2014-10-01 19:26:52 -04:00
committed by Michael Stapelberg
parent ea2552e852
commit 2ddbc71e2b
6 changed files with 43 additions and 1977 deletions

View File

@ -74,6 +74,9 @@ client, simply called +cpan+. It comes with every Perl installation and can be
used to install the testsuite. Many users prefer to use the more modern
+cpanminus+ instead, though (because it asks no questions and just works):
The tests additionally require +Xephyr(1)+ to run a nested X server. Install
+xserver-xephyr+ on Debian or +xorg-xserver-xephyr+ on Arch Linux.
.Installing testsuite dependencies using cpanminus (preferred)
--------------------------------------------------------------------------------
$ cd ~/i3/testcases
@ -102,7 +105,7 @@ more testcases. Also, it takes care of starting up a separate instance of i3
with an appropriate configuration file and creates a folder for each run
containing the appropriate i3 logfile for each testcase. The latest folder can
always be found under the symlink +latest/+. Unless told differently, it will
run the tests on a separate X server instance (using the Xdummy script).
run the tests on a separate X server instance (using Xephyr).
.Example invocation of complete-run.pl+
---------------------------------------
@ -146,12 +149,11 @@ $ less latest/i3-log-for-04-floating.t
If your attempt to run the tests with a bare call to ./complete-run.pl fails, try this:
---------------------------------------------------
$ ./complete-run.pl --parallel=1 --keep-xdummy-output
$ ./complete-run.pl --parallel=1 --keep-xserver-output
---------------------------------------------------
One common cause of failures is not having the X dummy server module
installed. Under Debian and Ubuntu this is the package
+xserver-xorg-video-dummy+.
This will show the output of Xephyr, which is the X server implementation we
use for testing.
==== IPC interface
@ -175,10 +177,9 @@ manager.
=== Filesystem structure
In the git root of i3, the testcases live in the folder +testcases+. This
folder contains the +complete-run.pl+ and +Xdummy+ scripts and a base
configuration file which will be used for the tests. The different testcases
(their file extension is .t, not .pl) themselves can be found in the
conventionally named subfolder +t+:
folder contains the +complete-run.pl+ and a base configuration file which will
be used for the tests. The different testcases (their file extension is .t, not
.pl) themselves can be found in the conventionally named subfolder +t+:
.Filesystem structure
--------------------------------------------
@ -197,7 +198,6 @@ conventionally named subfolder +t+:
│   │   ├── omitted for brevity
│   │   ├── ...
│   │   └── 74-regress-focus-toggle.t
│   └── Xdummy
--------------------------------------------
== Anatomy of a testcase