OLD | NEW |
---|---|
(Empty) | |
1 How to land Skia changes that change Blink layout test results | |
2 ============================================================== | |
3 | |
4 Changes that affect a small number of layout test results | |
5 --------------------------------------------------------- | |
6 Changes affecting fewer than ~20 layout tests can be rebaselined without special | |
7 coordination with the Blink gardener using these steps: | |
8 | |
9 ### Rebaseline Layout Tests | |
10 | |
11 #### First create a Chromium bug: | |
12 * Go to (http://crbug.com) | |
13 Make sure you’re logged in with your Chromium credentials | |
14 * Click “New Issue” | |
15 * Summary: “Skia image rebaseline” | |
16 * Description: List DEPS roll #, helpful message about what changed \(e\.g\., | |
17 “Changes to how lighting is scaled in Skia revision ###### changed the following | |
18 images:”\), & layout tests affected | |
19 * You should copy the list of affected from stdio of the failing bot | |
20 * Status: Assigned | |
21 * Owner: fmalita@ | |
22 * cc: reed@, bsalomon@, robertphillips@ & developer responsible for changes | |
23 * Labels: OS\-All & Cr\-Blink\-LayoutTests | |
24 | |
25 #### Edit skia/skia\_test\_expectations\.txt | |
26 * Add # comment about what has changed \(I usually paraphrase the crbug text\) | |
27 * Add line\(s\) like this after the comment: | |
28 crbug\.com/<bug\#youjustcreated> foo/bar/test\-name\.html \[ ImageOnlyFailure \] | |
29 | |
30 #### Commit the changes and fire off new try bots | |
31 You usually only need to fire off the layout bots. | |
bungeman-skia
2015/02/18 15:58:36
This is good as far as it goes, I suppose, but it'
| |
32 | |
33 | |
34 Changes that affect a large number of test results | |
35 -------------------------------------------------- | |
36 Where a 'large number' or 'many' means more than about 20. | |
37 Follow the instructions below: | |
38 | |
39 In the following the term 'code suppression' means a build flag \(a\.k\.a\. defi ne\). | |
40 Such code suppressions should be given a name with the form SK\_IGNORE\_xxx\_FIX . | |
41 | |
42 There are dependency revisions which must be updated in this | |
43 process. Updating a dependency revision is called a 'roll'. | |
44 There are two different rolls which concern this process, each of which happens | |
45 via an Auto Roll Bot multiple times per day, and can also be done manually: | |
46 | |
47 * Skia roll into Chromium. See | |
48 (https://chromium.googlesource.com/chromium/src/+log/master/DEPS) and search for | |
49 skia\-deps\-roller. | |
50 * Blink roll into Chromium. See | |
51 (https://chromium.googlesource.com/chromium/src/+log/master/DEPS) and search for | |
52 blink\-deps\-roller. | |
53 | |
54 ### Setup | |
55 #### Code suppression does not yet exist \- Direct method | |
56 1. Make a change in Skia which will change many Blink layout tests. | |
57 2. Put the change behind a code suppression. | |
58 3. Check in the change to the Skia repository. | |
59 4. Manually roll Skia or append the autoroll with the code suppression to | |
60 Chromium's 'skia/skia\_common\.gypi' | |
61 5. Add code suppression to Blink's 'public/blink\_skia\_config\.gyp'. | |
62 6. Wait for Blink roll into Chromium. | |
63 7. Remove code suppression from Chromium's 'skia/skia\_common\.gypi'. | |
64 | |
65 #### Code suppression does not yet exist \- Alternate method | |
66 1. Add code suppression to Blink's 'public/blink\_skia\_config\.gyp' before maki ng code | |
67 changes in Skia. | |
68 2. Make a change in Skia which will change many Blink layout tests. | |
69 3. Put the change behind a code suppression. | |
70 4. Wait for Blink roll into Chromium. | |
71 5. Check in the change to the Skia repository. | |
72 6. Wait for Skia roll into Chromium. | |
73 | |
74 #### Code suppression exists in header | |
75 1. Remove code suppression from header file in Chromium and add code suppression to | |
76 Chromium's 'skia/skia\_common\.gypi'. | |
77 The code suppression cannot be in a header file and a defined in a gyp file at t he | |
78 same time or a multiple definition warning will be treated as an error and break | |
79 the Chromium build. | |
80 2. Add code suppression to Blink's 'public/blink\_skia\_config\.gyp'. | |
81 3. Wait for Blink roll into Chromium. | |
82 4. Remove code suppression from Chromium's 'skia/skia\_common\.gypi'. | |
83 | |
84 ### Rebaseline | |
bungeman-skia
2015/02/18 15:58:36
This is more or less right (I think this section w
| |
85 1. Choose a time when the Blink tree is likely to be quiet. Avoid PST afternoons in | |
86 particular. The bigger the change, the more important this is. Regardless, | |
87 determine who the Blink gardener is and notify them. You will be making the | |
88 Chromium\.WebKit tree very red for an extended period, and the gardener needs to | |
89 know that they are not expected to fix it. | |
90 2. Remove code suppression from Blink's public/blink\_skia\_config\.gyp. It is | |
91 recommended, but not essential, that you prepare new baselines for at least one | |
92 platform to commit when you commit the blink\_skia\_config\.gyp change, although only | |
93 try this if you are familiar with new\-run\-webkit\-tests and the parameters for | |
94 controlling baseline generation. Mark the change as an unreviewed Skia build cha nge. | |
95 3. Rebaseline like any Blink rebaseline. Be careful with tests that are already | |
96 failing or flakey. These may or may not need to be rebaselined and flakey tests | |
97 should not be removed from TestExpectations regardless. In such cases revert the | |
98 TestExpectations changes before committing. | |
99 4. If you are not the one handling the cleanup step, please open a Skia Issue of the | |
100 form | |
101 Title: "Remove code suppression SK\_IGNORE\_xxx\_FIX\." | |
102 Comment: "Code suppression SK\_IGNORE\_xxx\_FIX rebaselined with Blink revision | |
103 123456\." and assign it to the individual responsible for the cleanup step. | |
104 | |
105 ### Cleanup | |
106 1. Wait for Blink roll into Chromium, so that Chromium is using the new Skia cod e | |
107 and new Blink baselines. | |
108 2. Remove the now unused old code from Skia and any defines which were introduce d | |
109 to suppress the new code. | |
110 3. Check in the cleanup change to the Skia repository. | |
111 4. Wait for Skia roll into Chromium. | |
112 | |
OLD | NEW |