wiki:WebKitGtkLayoutTests

Version 12 (modified by dbates@webkit.org, 10 years ago) (diff)

Added dependency on otf-stix

Running Tests for WebKitGTK+

Dependencies

You will need to install the following Debian packages to run the layout tests. For other distributions, you must install the equivalent packages. Note that distributions may compile FreeType with different hinting algorithms which may affect string width.

sudo aptitude install curl ruby apache2 libapache2-mod-php5 libapache2-mod-bw ttf-dejavu ttf-liberation otf-stix

For the media tests:

sudo aptitude install libgstreamer-plugins-base0.10-0 gstreamer0.10-plugins-base gstreamer0.10-plugins-good gstreamer0.10-plugins-bad gstreamer0.10-ffmpeg 

GStreamer -core and -plugins-base >= 0.10.31 will soon be required.

Xvfb

WebKit functional tests for WebKitGTK+ should be run inside a virtual framebuffer environment. The most common choice for WebKItGTK developers is Xvfb. To start Xvfb simply run:

Xvfb :23 -ac -screen 0 1024x768x24 &

-screen 0 1024x768x24 ensures that Xvfb has a deep enough color depth to produce accurate pixel test results.

Does Xvfb keep segfaulting?

Some older versions of Ubuntu may have bugs which cause Xvfb to segfault while running tests. A workaround for this is to run Xvfb with the GLX extension disabled:

Xvfb :23 -ac -screen 0 1024x768x24 -extension GLX &

Running the Tests

Simply run the run-webkit-tests script from the WebKitTools directory. run-webkit-tests also supports the --debug argument to run the tests with the debug build of WebKitGTK+.

env -i DISPLAY=:23  ./WebKitTools/Scripts/run-webkit-tests --gtk [--debug]

If you wish to run a single test you can do:

env -i DISPLAY=:23 ./WebKitTools/Scripts/run-webkit-tests --gtk fast/forms/plaintext-mode-1.html

Pixel Tests

WebKitGTK+ supports running pixel tests, but they are not enabled by default. To run them simply pass the -p argument to run-webkit-tests:

env -i DISPLAY=:23 ./WebKitTools/Scripts/run-webkit-tests --gtk -p

Adding Baselines

Sometimes you may need to generate new results for a test that relies on render tree output. This can be accomplished by passing the --new-test-results option. Note that new pixel results require the -p option as well:

env -i DISPLAY=:23  ./WebKitTools/Scripts/run-webkit-tests --gtk fast/forms/plaintext-mode-1.html --new-test-results

Running Tests in GDB

For debugging a test it may be useful to run it directly in DumpRenderTree (with gdb):

WebKitBuild/Debug/Programs/DumpRenderTree -v LayoutTests/fast/forms/plaintext-mode-1.html