= 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-dejavu 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 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 }}}