Bug 49151

Summary: [Chromium] REGRESSION(71474?) failing webkit tests on chromium canaries
Product: WebKit Reporter: Fumitoshi Ukai <ukai>
Component: Tools / TestsAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: dpranke, eric, mihaip
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Attachments:
Description Flags
Patch eric: review+

Comment 1 Fumitoshi Ukai 2010-11-07 19:57:03 PST
Reverted r71475 and r71474
Comment 2 Dirk Pranke 2010-11-08 13:12:08 PST
Looks like scm.find_checkout_root() isn't working correctly for an SVN-based checkout when the caller is outside of the root. Investigating further.

As a side note, it would be good if we could run at least a subset of the scm unittest on the bots ... I'll have to think about how to do that w/o running them all. Maybe as a short-term hack, move them out of the checkout directory?
Comment 3 Dirk Pranke 2010-11-08 13:14:25 PST
So, r71475 and r71474 aren't broken per se, but they started using  the code in scm to find the top of the webkit tree, instead of using its own logic, and it looks like that might be what broke.
Comment 4 Dirk Pranke 2010-11-08 14:50:40 PST
Created attachment 73290 [details]
Patch
Comment 5 Eric Seidel (no email) 2010-11-08 15:06:43 PST
Comment on attachment 73290 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=73290&action=review

> WebKitTools/ChangeLog:31
> +2010-11-07  Fumitoshi Ukai  <ukai@chromium.org>
> +
> +        Unreviewed, rolling out r71475.

I don't think you meant to move Ukai's entry.

> WebKitTools/Scripts/webkitpy/common/system/filesystem_mock.py:55
> +    def isdir(self, path):
> +        # FIXME: Implement :)
> +        raise NotImplementedError

I'm still not a big fan of these stubs. :)

> WebKitTools/Scripts/webkitpy/common/system/filesystem_mock.py:77
> +                exception = IOError()
> +                exception.errno = errno.ENOENT
> +                exception.filename = path
> +                exception.strerror = "No such file or directory"

I bet there is a constructor...

> WebKitTools/Scripts/webkitpy/layout_tests/port/config.py:126
> +        # Note: this code somewhat duplicates the code in
> +        # scm.find_checkout_root(). However, that code only works if the top
> +        # of the SCM repository also matches the top of the WebKit tree. The
> +        # Chromium ports, for example, only check out subdirectories like
> +        # WebKitTools/Scripts, and so we still have to do additional work
> +        # to find the top of the tree.

I suspect lots of other pieces of webkitpy break for chromium too.
Comment 6 Dirk Pranke 2010-11-08 15:35:10 PST
(In reply to comment #5)
> (From update of attachment 73290 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=73290&action=review
> 
> > WebKitTools/ChangeLog:31
> > +2010-11-07  Fumitoshi Ukai  <ukai@chromium.org>
> > +
> > +        Unreviewed, rolling out r71475.
> 
> I don't think you meant to move Ukai's entry.
> 

No, I didn't. I caught the other one, but not this one. I'll add it back in. I'm not sure why I didn't notice it in the diff.

> > WebKitTools/Scripts/webkitpy/common/system/filesystem_mock.py:55
> > +    def isdir(self, path):
> > +        # FIXME: Implement :)
> > +        raise NotImplementedError
> 
> I'm still not a big fan of these stubs. :)
> 

Then, for you, I'll remove them :)

> > WebKitTools/Scripts/webkitpy/common/system/filesystem_mock.py:77
> > +                exception = IOError()
> > +                exception.errno = errno.ENOENT
> > +                exception.filename = path
> > +                exception.strerror = "No such file or directory"
> 
> I bet there is a constructor...
> 

Yeah, sort of. It appears to be relatively undocumented, but is obvious enough how to use it. Added.
Comment 7 Dirk Pranke 2010-11-08 15:36:48 PST
Committed r71580: <http://trac.webkit.org/changeset/71580>
Comment 8 Mihai Parparita 2010-11-09 12:10:35 PST
This appears to have broken NRWT's ability to pick up the currently set configuration (even though the debug config is used, it tries to look for release binaries):

$ set-webkit-configuration --debug
$ new-run-webkit-tests --chromium --use-drt
Defaulting to one child - see https://bugs.webkit.org/show_bug.cgi?id=38553
Unable to find test driver
    at /Users/mihaip/Developer/source/chromium1/src/third_party/WebKit/WebKit/chromium/xcodebuild/Release/DumpRenderTree.app/Contents/MacOS/DumpRenderTree

Unable to find layout test helper
    at /Users/mihaip/Developer/source/chromium1/src/third_party/WebKit/WebKit/chromium/xcodebuild/Release/LayoutTestHelper
Unable to find image diff exe
    at /Users/mihaip/Developer/source/chromium1/src/third_party/WebKit/WebKit/chromium/xcodebuild/Release/ImageDiff
    To override, invoke with --no-pixel-tests

wdiff not found. Install using MacPorts or some other means
For complete Mac build requirements, please see:

    http://code.google.com/p/chromium/wiki/MacBuildInstructions
Build check failed