[blinkpy] Allow rebaseline-cl to update all-PASS baselines

Previously, optimize-baselines assumes all all-PASS testharness.js
results are the same, partly to avoid special-casing the implicit
all-PASS results. However, in scenarios demonstrated in
https://crbug.com/866802#c4, we do need to differentiate different
all-PASS results to allow us to update all-PASS baselines (that are kept
to prevent fallback).

This CL implements a ResultDigest class with special equality
comparitors which treat implicit all-PASS results specially (equal to
any all-PASS results). Thanks to the abstraction, the call sites are
still kept simple.

Bug: 866802
Change-Id: Ic6a361caa86f12598f29ad7693711d527f63006f
Reviewed-on: https://chromium-review.googlesource.com/1150629
Commit-Queue: Robert Ma <robertma@chromium.org>
Reviewed-by: Quinten Yearsley <qyearsley@chromium.org>
Cr-Commit-Position: refs/heads/master@{#578361}
2 files changed