Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(257)

Issue 209393002: Real world impact script: scalable manual rendering QA (Closed)

Created:
6 years, 9 months ago by pdr.
Modified:
6 years, 9 months ago
CC:
chromium-reviews
Visibility:
Public.

Description

Real world impact script: scalable manual rendering QA This patch is almost entirely by John Mellor <johnme@google.com>; [1] Layout Tests can tell you whether rendering has changed, but it's often hard to determine whether a subtle/controversial change is beneficial without additional context. This script aims to provide that context. It takes screenshots of 1000s of sites, both before and after applying the patch being evaluated, then diffs each pair of screenshots and sorts them by greatest difference in rendering, in an HTML report. A human reviewer can then manually skim through this to review the most impacted sites, rather than having to browse random sites to see what their patch changed. This is a script I wrote at the start of the year (but hadn't got round to uploading a patch, as it used to depend on proprietary binaries; I fixed that dependency by writing a replacement: crrev.com/67973005). The script isn't yet smart enough to build content_shell itself, so you run it in several steps: 1. Build content_shell in out/Release, without the controversial patch. 2. Run: real_world_impact.py before [num sites to test (default 1000)] 3. Apply the controversial patch, and rebuild content_shell in out/Release. 4. Run: real_world_impact.py after [num sites to test (default 1000)] 5. Run: real_world_impact.py compare [num sites to test (default 1000)] [1] Original issue: https://codereview.chromium.org/112423006 I've made a few changes to the original patch: 1. Updated to support OSX and Windows content shells 2. Fixed the multiprocess fetch code so you can use ctrl+c to stop it 3. Added a timeout, retry limit, and no-check-certificate to wget so sites download more reliably. 4. Updated the nsfw urls. 5. Added proper argument parsing. 6. Added optional "additional_flags" argument for doing before/after comparisons with a flag. 7. Updated help text and example usage. BUG=135823 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=259024

Patch Set 1 #

Patch Set 2 : Add wget retry limit (--tries) #

Total comments: 2

Patch Set 3 : Cleanup, add command line processing, add additional content_shell option, update help text #

Patch Set 4 : Update download/before/after/compare help text #

Patch Set 5 : Make num_sites properly optional #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+635 lines, -0 lines) Patch
A tools/real_world_impact/nsfw_urls.py View 1 chunk +81 lines, -0 lines 1 comment Download
A tools/real_world_impact/real_world_impact.py View 1 2 3 4 1 chunk +554 lines, -0 lines 0 comments Download

Messages

Total messages: 10 (0 generated)
pdr.
6 years, 9 months ago (2014-03-22 04:07:48 UTC) #1
skobes
https://codereview.chromium.org/209393002/diff/20001/tools/real_world_impact/real_world_impact.py File tools/real_world_impact/real_world_impact.py (right): https://codereview.chromium.org/209393002/diff/20001/tools/real_world_impact/real_world_impact.py#newcode195 tools/real_world_impact/real_world_impact.py:195: "--timeout 20", # 20s timeout I'd probably use a ...
6 years, 9 months ago (2014-03-22 06:32:54 UTC) #2
pdr.
I think many users will want to do before/after comparisons using content shell flags. I've ...
6 years, 9 months ago (2014-03-23 22:08:23 UTC) #3
skobes
lgtm
6 years, 9 months ago (2014-03-24 19:57:48 UTC) #4
pdr.
The CQ bit was checked by pdr@chromium.org
6 years, 9 months ago (2014-03-24 20:00:40 UTC) #5
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/pdr@chromium.org/209393002/80001
6 years, 9 months ago (2014-03-24 20:00:58 UTC) #6
commit-bot: I haz the power
Change committed as 259024
6 years, 9 months ago (2014-03-24 21:58:45 UTC) #7
mdempsky
https://codereview.chromium.org/209393002/diff/80001/tools/real_world_impact/nsfw_urls.py File tools/real_world_impact/nsfw_urls.py (right): https://codereview.chromium.org/209393002/diff/80001/tools/real_world_impact/nsfw_urls.py#newcode41 tools/real_world_impact/nsfw_urls.py:41: "http://costco.com/", I think snapdeal.com and costco.com are SFW?
6 years, 9 months ago (2014-03-24 23:00:05 UTC) #8
pdr.
On 2014/03/24 23:00:05, mdempsky wrote: > https://codereview.chromium.org/209393002/diff/80001/tools/real_world_impact/nsfw_urls.py > File tools/real_world_impact/nsfw_urls.py (right): > > https://codereview.chromium.org/209393002/diff/80001/tools/real_world_impact/nsfw_urls.py#newcode41 > ...
6 years, 9 months ago (2014-03-24 23:01:57 UTC) #9
timvolodine
6 years, 9 months ago (2014-03-26 13:36:59 UTC) #10
Message was sent while issue was closed.
On 2014/03/24 23:01:57, pdr wrote:
> On 2014/03/24 23:00:05, mdempsky wrote:
> >
>
https://codereview.chromium.org/209393002/diff/80001/tools/real_world_impact/...
> > File tools/real_world_impact/nsfw_urls.py (right):
> > 
> >
>
https://codereview.chromium.org/209393002/diff/80001/tools/real_world_impact/...
> > tools/real_world_impact/nsfw_urls.py:41: "http://costco.com/",
> > I think http://snapdeal.com and http://costco.com are SFW?
> 
> Good catch :) I have a small followup patch and will include a fix for these.

also, we had a wrapper for the old script where it was possible to simply do:
$ impact <git-branch-name>
which would run the comparison between the given branch and master branch
running all 1-5 steps automatically. I found that very convenient to use.

Powered by Google App Engine
This is Rietveld 408576698