Bug 68923 - [Chromium] Fixed layout mode tests break subsequent tests
Summary: [Chromium] Fixed layout mode tests break subsequent tests
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Mihai Parparita
Depends on:
Reported: 2011-09-27 11:57 PDT by Mihai Parparita
Modified: 2011-09-27 13:23 PDT (History)
2 users (show)

See Also:

Patch (1.48 KB, patch)
2011-09-27 12:13 PDT, Mihai Parparita
abarth: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Mihai Parparita 2011-09-27 11:57:24 PDT
platform/chromium/fast/text/text-stroke-with-border.html has been flaky for quite a while:


However, it almost always passes when retried. Looking at the diffs, it's supposed to have a 800x600 layout, but instead it ends up with a 360x240 one, even though it does no resizing. Looking at a test log (http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Mac10.6/builds/8553/steps/webkit_tests/logs/stdio), it looks like the worker that runs it also runs platform/chromium/fast/repaint/fixed-layout-360x240.html shortly before.  You can also reproduce this locally with:

run-webkit-tests --chromium --release --no-retry-failures platform/chromium/fast/repaint/fixed-layout-360x240.html platform/chromium/fast/text/text-stroke-with-border.html

(both tests pass when run in insolation)

The first test uses LayoutTestController capabilities that were added http://trac.webkit.org/changeset/94779 to switch to fixed layout. However, in between tests we never switch the ScrollView from out of fixed layout mode, so subsequent tests (until the next DRT process restart, which could be 1,000 tests later) end up in this inconsistent state.

I'll look into resetting fixed layout mode.
Comment 1 Fady Samuel 2011-09-27 12:03:49 PDT
Thanks for catching this. This should be a one-liner in Tools/DumpRenderTree/chromium/LayoutTestController.cpp.

LayoutTestController::reset() that sets m_shell->webView()->enableFixedLayoutMode(false);

Thanks again.
Comment 2 Mihai Parparita 2011-09-27 12:13:37 PDT
Created attachment 108879 [details]
Comment 3 Mihai Parparita 2011-09-27 12:14:31 PDT
Wasn't sure about where to do this resetting (where you mentioned vs. WebViewHost::reset() vs. TestShell::resetTestController()). I ended up going with the latter, since it's where we also reset page scaling, which seems similar.
Comment 4 Mihai Parparita 2011-09-27 13:23:16 PDT
Committed r96147: <http://trac.webkit.org/changeset/96147>