X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=docs%2Ftestsuite.html;h=9fa9202743fd9881c9cc376bff7074c750c3e51f;hb=d707aad213bc32e9f1671f893ee0aa4d7c0c1671;hp=409ccf3f836e8e37e84cfe5653231eb0902afc6b;hpb=536f2aa4a3c6643ab87a73e7ba00de75cf63d7a1;p=i3%2Fi3.github.io diff --git a/docs/testsuite.html b/docs/testsuite.html index 409ccf3..9fa9202 100644 --- a/docs/testsuite.html +++ b/docs/testsuite.html @@ -171,7 +171,7 @@ always be found under the symlink latest/. Unless told differently, it run the tests on a separate X server instance (using Xephyr).

Xephyr will open a window where you can inspect the running test. You can run the tests without an X session with Xvfb, such as with xvfb-run -./complete-run. This will also speed up the tests signficantly especially on +./complete-run. This will also speed up the tests significantly especially on machines without a powerful video card.

Example invocation of complete-run.pl+
@@ -252,7 +252,7 @@ current state (layout tree).

testsuite uses X11::XCB, a new (and quite specific to i3 at the moment) Perl module which uses the XCB protocol description to generate Perl bindings to X11. They work in a very similar way to libxcb (which i3 uses) and provide -relatively high-level interfaces (objects such as X11::XCB::Window) aswell as +relatively high-level interfaces (objects such as X11::XCB::Window) as well as access to the low-level interface, which is very useful when testing a window manager.

@@ -492,7 +492,7 @@ my $right = open_window($x); cmd 'focus left'; is($x->input_focus, $left->id, 'left window focused'); -

However, the test fails. Sometimes. Apparantly, there is a race condition in +

However, the test fails. Sometimes. Apparently, there is a race condition in your test. If you think about it, this is because you are using two different pieces of software: You tell i3 to update focus, i3 confirms that, and then you ask X11 to give you the current focus. There is a certain time i3 needs to @@ -665,7 +665,7 @@ activation, we decreased the total amount of time necessary to run all tests (72 files at the time of writing) from > 100 seconds to 16 seconds. This makes it significantly more attractive to run the test suite more often (or at all) during development.

-

An alternative approach to using socket activation is polling for the existance +

An alternative approach to using socket activation is polling for the existence of the IPC socket and connecting to it. While this might be slightly easier to implement, it wastes CPU time and is considerably uglier than this solution :). After all, lib/SocketActivation.pm contains only 54 SLOC.