[Webkit-unassigned] [Bug 31129] New: DumpRenderTree can retain preferences state across runs
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Wed Nov 4 10:46:50 PST 2009
https://bugs.webkit.org/show_bug.cgi?id=31129
Summary: DumpRenderTree can retain preferences state across
runs
Product: WebKit
Version: 528+ (Nightly build)
Platform: Macintosh
OS/Version: Mac OS X 10.5
Status: UNCONFIRMED
Severity: Normal
Priority: P2
Component: Tools / Tests
AssignedTo: webkit-unassigned at lists.webkit.org
ReportedBy: kbr at google.com
CC: mrowe at apple.com, oliver at apple.com, cmarrin at apple.com
In investigating https://bugs.webkit.org/show_bug.cgi?id=31088 (Add
overridePreference call to all WebGL layout tests), the question arose of why
the tests were not failing on more machines. After investigation, it looks
likely that on the developers' machines and perhaps on the buildbots, a sticky
preferences setting was set during one run of the tests, and that setting has
been retained for further runs.
Here is how to show that the WebPreferences state that is set up in
DumpRenderTree.mm persists across runs:
1. In WebKitTools/DumpRenderTree/mac/DumpRenderTree.mm,
resetDefaultsToConsistentValues, add the following at the end of the function:
[preferences setWebGLEnabled:NO];
2. In LayoutTests/fast/canvas/webgl/resources/webgl-test.js, comment out the
two lines at the top of the file:
//if (window.layoutTestController)
// layoutTestController.overridePreference("WebKitWebGLEnabled", "1");
3. run-webkit-tests LayoutTests/fast/canvas/webgl/getActiveTest.html . Note
that the test fails because the 3D context could not be fetched from the
canvas, because WebGL support is not enabled.
4. Change the line in DumpRenderTree.mm to read
[preferences setWebGLEnabled:YES];
5. run-webkit-tests LayoutTests/fast/canvas/webgl/getActiveTest.html . The test
passes.
6. Comment out the line in DumpRenderTree.mm
//[preferences setWebGLEnabled:YES];
7. run-webkit-tests LayoutTests/fast/canvas/webgl/getActiveTest.html . The test
passes. This is the bug.
It appears that the JavaScript-level call to override the WebKitWebGLEnabled
preference does not persist across runs. If it did, that would be a much worse
issue. However, it is clear that at least on some machines this preference was
set in the context of the DumpRenderTree app once, and that is preventing clean
runs of these tests. Plausibly the stickiness comes from the call to
[_standardPreferences setAutosaves:YES]; in WebPreferences.mm,
standardPreferences.
Not sure what the right fix is; possibly to always initialize [preferences
setWebGLEnabled:NO]; in DumpRenderTree.mm.
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list