Version 10 (modified by 14 years ago) ( diff ) | ,
---|
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 ttf-dejavu ttf-liberation
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