rebaseline-cl cannot update all-PASS baselines |
|||
Issue descriptionAfter issue 866467 , wpt-importer has been failing in a new way in these builds: https://ci.chromium.org/buildbot/chromium.infra.cron/wpt-importer/21652 https://ci.chromium.org/buildbot/chromium.infra.cron/wpt-importer/21653 https://ci.chromium.org/buildbot/chromium.infra.cron/wpt-importer/21654 (Will keep failing.) The problem is that CQ fails on virtual/video-surface-layer/external/wpt/picture-in-picture/idlharness.window.html, e.g.: https://test-results.appspot.com/data/layout_results/win7_chromium_rel_ng/45451/layout-test-results/results.html Diff: ``` This is a testharness.js-based test. -PASS idlharness PASS picture-in-picture interfaces. PASS Partial interface HTMLVideoElement: original interface defined PASS Partial interface Document: original interface defined ``` The exact same failure happened on at least linux-blink-rel among the try bots: https://test-results.appspot.com/data/layout_results/linux-blink-rel/418/layout-test-results/results.html And yet, the -expected.txt wasn't updated in this case. The patch set presumably wouldn't pass the try bots either. The importer is able to handle similar cases: https://chromium-review.googlesource.com/1145464 Here, the very same test's baseline was updated successfully. The only difference seems to be that previously there were failures, and in the current state of the tree, that test is already all-passing.
,
Jul 24
Nope, that didn't work, the importer uploaded another patch set to revert my changes and then failed :)
,
Jul 24
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b74ba743463a9e3d517ce6d38664797a329cc6a2 commit b74ba743463a9e3d517ce6d38664797a329cc6a2 Author: Philip Jägenstedt <foolip@chromium.org> Date: Tue Jul 24 10:33:42 2018 Skip a virtual/ test to unblock the WPT importer It will be enabled again after the next import. Bug: 866802 Change-Id: Id2f4198b7699be1bdf185758401fdb74413a1f21 No-Try: true Reviewed-on: https://chromium-review.googlesource.com/1148208 Reviewed-by: Jonathon Kereliuk <kereliuk@chromium.org> Reviewed-by: Philip Jägenstedt <foolip@chromium.org> Commit-Queue: Philip Jägenstedt <foolip@chromium.org> Cr-Commit-Position: refs/heads/master@{#577478} [modify] https://crrev.com/b74ba743463a9e3d517ce6d38664797a329cc6a2/third_party/WebKit/LayoutTests/TestExpectations
,
Jul 25
This is a bug in optimize-baselines (called by rebaseline-cl). And it's not really related to virtual suites.
The symptom is that all-PASS baselines kept in order to prevent fallback cannot be updated. e.g. a test fails on most platforms but mac; the generic baseline contains failures and we have to put an all-PASS baseline at mac to prevent it from falling back to the generic one. In such scenario, if a new subtest is added to the test, rebaseline-cl cannot automatically update the baseline at mac to include the new test.
The root cause is in the BaselineOptimizer where all-PASS baselines are treated specially and all all-PASS baselines are considered equal, without comparing their content (or rather, hash). It was done in order to simplify the handling of implicit all-PASS results, but I didn't realize difference between two all-PASS results could matter in some case. e.g. In the aforementioned scenario, we'd need to promote the new mac-{version} baselines up to mac, but because all of them are considered equal, BaselineOptimizer simply removes the mac-{version} ones without overwriting the mac one.
,
Jul 25
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/82d1bd2babc290ca236aad2933cc0b4254d1cd01 commit 82d1bd2babc290ca236aad2933cc0b4254d1cd01 Author: Robert Ma <robertma@chromium.org> Date: Wed Jul 25 21:53:44 2018 Rebaseline a virtual PiP test and unskip it TBR=foolip Bug: 866802 Change-Id: I633708217593c5b132beb69eeb27f7e6caeeedc0 Reviewed-on: https://chromium-review.googlesource.com/1150632 Reviewed-by: Robert Ma <robertma@chromium.org> Commit-Queue: Robert Ma <robertma@chromium.org> Cr-Commit-Position: refs/heads/master@{#578084} [modify] https://crrev.com/82d1bd2babc290ca236aad2933cc0b4254d1cd01/third_party/WebKit/LayoutTests/TestExpectations [modify] https://crrev.com/82d1bd2babc290ca236aad2933cc0b4254d1cd01/third_party/WebKit/LayoutTests/virtual/video-surface-layer/external/wpt/picture-in-picture/idlharness.window-expected.txt
,
Jul 26
This importer is broken again because of this starting from https://ci.chromium.org/buildbot/chromium.infra.cron/wpt-importer/21746.
,
Jul 26
It's the exact same test too: virtual/video-surface-layer/external/wpt/picture-in-picture/idlharness.window.html
,
Jul 26
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8c8a7234e3d9df8fc6580ecd477ce14a53c828e5 commit 8c8a7234e3d9df8fc6580ecd477ce14a53c828e5 Author: Philip Jägenstedt <foolip@chromium.org> Date: Thu Jul 26 09:59:28 2018 Revert "Rebaseline a virtual PiP test and unskip it" This reverts commit 82d1bd2babc290ca236aad2933cc0b4254d1cd01. Reason for revert: wpt import is blocked again on the exact test. Original change's description: > Rebaseline a virtual PiP test and unskip it > > TBR=foolip > > Bug: 866802 > Change-Id: I633708217593c5b132beb69eeb27f7e6caeeedc0 > Reviewed-on: https://chromium-review.googlesource.com/1150632 > Reviewed-by: Robert Ma <robertma@chromium.org> > Commit-Queue: Robert Ma <robertma@chromium.org> > Cr-Commit-Position: refs/heads/master@{#578084} TBR=foolip@chromium.org,robertma@chromium.org Change-Id: I0090e75e1b219fbc3b0117c887b4e348ca628473 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 866802 Reviewed-on: https://chromium-review.googlesource.com/1151149 Reviewed-by: Philip Jägenstedt <foolip@chromium.org> Commit-Queue: Philip Jägenstedt <foolip@chromium.org> Cr-Commit-Position: refs/heads/master@{#578253} [modify] https://crrev.com/8c8a7234e3d9df8fc6580ecd477ce14a53c828e5/third_party/WebKit/LayoutTests/TestExpectations [modify] https://crrev.com/8c8a7234e3d9df8fc6580ecd477ce14a53c828e5/third_party/WebKit/LayoutTests/virtual/video-surface-layer/external/wpt/picture-in-picture/idlharness.window-expected.txt
,
Jul 26
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1c5c6952d686a5df745289840595d8b0316a3aa2 commit 1c5c6952d686a5df745289840595d8b0316a3aa2 Author: Robert Ma <robertma@chromium.org> Date: Thu Jul 26 17:56:32 2018 [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} [modify] https://crrev.com/1c5c6952d686a5df745289840595d8b0316a3aa2/third_party/blink/tools/blinkpy/common/checkout/baseline_optimizer.py [modify] https://crrev.com/1c5c6952d686a5df745289840595d8b0316a3aa2/third_party/blink/tools/blinkpy/common/checkout/baseline_optimizer_unittest.py
,
Jul 26
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f82bb8de940b4afffe0f4fe16ac7c7ac116c6a0a commit f82bb8de940b4afffe0f4fe16ac7c7ac116c6a0a Author: Robert Ma <robertma@chromium.org> Date: Thu Jul 26 18:41:53 2018 Reland "Rebaseline a virtual PiP test and unskip it" This is a reland of 82d1bd2babc290ca236aad2933cc0b4254d1cd01 Original change's description: > Rebaseline a virtual PiP test and unskip it > > TBR=foolip > > Bug: 866802 > Change-Id: I633708217593c5b132beb69eeb27f7e6caeeedc0 > Reviewed-on: https://chromium-review.googlesource.com/1150632 > Reviewed-by: Robert Ma <robertma@chromium.org> > Commit-Queue: Robert Ma <robertma@chromium.org> > Cr-Commit-Position: refs/heads/master@{#578084} Bug: 866802 Change-Id: Ib6b87fa99899ec0d974c417cb6e2362ddeabcb1b Reviewed-on: https://chromium-review.googlesource.com/1151467 Commit-Queue: Philip Jägenstedt <foolip@chromium.org> Reviewed-by: Philip Jägenstedt <foolip@chromium.org> Cr-Commit-Position: refs/heads/master@{#578382} [modify] https://crrev.com/f82bb8de940b4afffe0f4fe16ac7c7ac116c6a0a/third_party/WebKit/LayoutTests/TestExpectations [modify] https://crrev.com/f82bb8de940b4afffe0f4fe16ac7c7ac116c6a0a/third_party/WebKit/LayoutTests/virtual/video-surface-layer/external/wpt/picture-in-picture/idlharness.window-expected.txt
,
Jul 26
|
|||
►
Sign in to add a comment |
|||
Comment 1 by foolip@chromium.org
, Jul 24