[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