Changes between Initial Version and Version 1 of RebaselineServer


Ignore:
Timestamp:
Dec 6, 2010 1:58:01 PM (11 years ago)
Author:
mihaip@chromium.org
Comment:

Initial rebaseline server wiki page.

Legend:

Unmodified
Added
Removed
Modified
  • RebaselineServer

    v1 v1  
     1= Rebaseline Server =
     2
     3The "Rebaseline Server" is a tool that makes it easy to do "mass" rebaselines (updating of pixel or text baselines for dozens or hundreds of layout tests). It makes it easy to review changes to baselines and update existing ones (and optionally move them, to handle OS transitions). It's known as a ''server'' because it runs a local HTTP server which makes it easy to have a cross-platform GUI for reviewing that is backed by Python code for doing the SCM (SVN/Git) operations on the filesystem.
     4
     5== Sample Usages ==
     6
     7=== Leopard to Snow Leopard Transition ===
     8
     9Snow Leopard has a different text anti-aliasing algorithm (and other small rendering tweaks) which requires many pixel baselines to be updated. The flow for doing this would be.
     10
     11  1. (On a Snow Leopard machine) run `new-run-webkit-tests --tolerance 0 --pixel-tests [path/to/tests]` (or omit the path to run all tests)
     12  1. Observe that many tests failed with imaged differences
     13  1. Run `webkit-patch rebaseline-server WebKitBuild/{Debug|Release}/layout-test-results` (or wherever your layout test results are localed)
     14  1. http://localhost:8127/ should be launched in your browser, navigate to it if not
     15  1. From the footer of the UI, set the '''baseline target''' to `mac` (since we want the default `mac` port baselines to reflect the newest shipping OS)
     16  1. Similarly, set the '''Move current baselines to:''' dropdown to `mac-leopard`, so that the existing baselines are still used for bots that are on Leopard
     17  1. Refer to the UI walkthrough for more details on how to use the GUI
     18
     19If working on the Chromium port, the above steps can be used there too, except the baseline target is `chromium-mac` and existing baselines should be moved to `chromium-mac-leopard`.
     20
     21=== Skia changes ===
     22
     23[http://code.google.com/p/skia/ Skia] is the graphics library used by the Chromium port on Windows and Linux; changes to it often require updates to pixel baselines.
     24
     25  1. (On a Windows or Linux machine) run `new-run-webkit-tests --tolerance 0 --pixel-tests [path/to/tests]` (or omit the path to run all tests)
     26  1. Observe that many tests failed with imaged differences
     27  1. Run `webkit-patch rebaseline-server WebKitBuild/{Debug|Release}/layout-test-results` (or wherever your layout test results are localed)
     28  1. http://localhost:8127/ should be launched in your browser, navigate to it if not
     29  1. From the footer of the UI, set the '''baseline target''' to `chromium-win` or `chromium-win` as appropriate.
     30  1. Leave the '''Move current baselines to:''' dropdown set to `Nowhere (replace)`
     31  1. Refer to the UI walkthrough for more details on how to use the GUI
     32
     33Note that if you'd like to rebaseline both Windows and Linux in the same patch, you'll need to run the tests on both platforms by hand and copy the results file to the machine that's running the rebaseline server.
     34
     35== UI Walkthrough ==
     36
     37== Code location and design ==
     38
     39The Python server lives at [http://trac.webkit.org/browser/trunk/WebKitTools/Scripts/webkitpy/tool/commands/rebaselineserver.py WebKitTools/Scripts/webkitpy/tool/commands/rebaselineserver.py], the GUI is at [http://trac.webkit.org/browser/trunk/WebKitTools/Scripts/webkitpy/tool/commands/data/rebaselineserver/ WebKitTools/Scripts/webkitpy/tool/commands/data/rebaselineserver/].
     40
     41
     42== Caveats/Limitations ==
     43
     44 * `new-run-webkit-tests` must be used (the tool currently relies on the JSON output that only NRWT produces)
     45 * The tool can currently only use local test results, it cannot pull from bots