wiki:WebKitGtkLayoutTests

Version 15 (modified by mrobinson@webkit.org, 8 years ago) (diff)

Made the package list more readable and remove DejaVu fonts.

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.

sudo aptitude install curl \
                      ruby \
                      apache2 \
                      libapache2-mod-php5 \
                      libapache2-mod-bw \
                      ttf-liberation \
                      otf-stix \
                      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 Tools directory. run-webkit-tests also supports the --debug argument to run the tests with the debug build of WebKitGTK+.

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

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

env -i DISPLAY=:23 ./Tools/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 ./Tools/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  ./Tools/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