Bug 43889

Summary: [chromium] add google-chrome layout test result directories
Product: WebKit Reporter: Tony Chang <tony>
Component: New BugsAssignee: Tony Chang <tony>
Status: RESOLVED FIXED    
Severity: Normal CC: dpranke, eric.carlson, eric
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Other   
OS: OS X 10.5   
Attachments:
Description Flags
Patch levin: review+

Tony Chang
Reported 2010-08-11 17:52:28 PDT
[chromium] add google-chrome layout test result directories
Attachments
Patch (9.76 KB, patch)
2010-08-11 18:01 PDT, Tony Chang
levin: review+
Tony Chang
Comment 1 2010-08-11 18:01:03 PDT
Tony Chang
Comment 2 2010-08-11 18:05:11 PDT
The background is that the Google Chrome builds often have slightly different layout test results. For example, the media tests might have differences depending on which codecs are installed or the Linux bots may have different results due to rounding and what compiler flags we happen to use for Google Chrome Builds (see http://code.google.com/p/chromium/issues/detail?id=8475 ). Everytime we make a release branch, we have to go through and re-verify that they're expected. It's a pain, so we should just check in these results (on linux, it's only like 150 tests, on windows and mac, it's even less).
Tony Chang
Comment 3 2010-08-11 18:12:49 PDT
I'll give dirk and eric a chance to comment before committing. :)
Eric Seidel (no email)
Comment 4 2010-08-11 18:21:44 PDT
Comment on attachment 64178 [details] Patch This seems like sadness. But OK.
Dirk Pranke
Comment 5 2010-08-11 18:29:17 PDT
Comment on attachment 64178 [details] Patch Works for me. Good to see this get fixed; it was on my to-do list for a while but I never got around to it.
Eric Carlson
Comment 6 2010-08-11 18:47:29 PDT
(In reply to comment #2) > For example, the media tests might have differences depending on which codecs are installed This *shouldn't* be a consideration as we strive to make the results not include anything caused by which codecs/containers a port supports. If there are media test results that differ because of codec or container, we should fix them (bugs please!). Having said that, I agree with the other Eric that it seems sad but OK.
Tony Chang
Comment 7 2010-08-12 09:26:21 PDT
(In reply to comment #6) > (In reply to comment #2) > > For example, the media tests might have differences depending on which codecs are installed > > This *shouldn't* be a consideration as we strive to make the results not include anything caused by which codecs/containers a port supports. If there are media test results that differ because of codec or container, we should fix them (bugs please!). Ok, I will file bugs for any tests that are sensitive to which codecs are installed. I'm actually not sure which tests they are, but I think it's specific to the chromium-win port.
Tony Chang
Comment 8 2010-08-12 09:41:09 PDT
Dirk Pranke
Comment 9 2010-08-12 12:56:14 PDT
Okay, you've already committed this, and it'll work, but I wonder if this might be slightly cleaner if we implemented this using delegation instead of inheritance. The patch would look something like: % cat google_chrome.py class GoogleChromePort(object): def __init__(self, port_name, options): self.name = port_name if port_name == 'google-chrome-mac': self.__delegate = factory.get('chromium-mac', options) elif port_name == 'google-chrome-win': self.__delegate = factory.get('chomium-win', options) elif ... def __getattr__(self, name): return getattr(self.__delegate, name): def baseline_search_path(self): return [ self.__delegate._chromium_baseline_path(self.name) ] + self._delegate.baseline_search_path(self)] % cat factory.py def get(): ... if port_to_use.startswith('google-chrome'): import google_chrome return GoogleChromePort(port_to_use, options) elif ... % I think this'll work, it's a lot fewer lines of code, and perhaps a little clearer. You might need to override one or two other methods as well. Thoughts?
Tony Chang
Comment 10 2010-08-12 13:06:41 PDT
(In reply to comment #9) > Okay, you've already committed this, and it'll work, but I wonder if this might be slightly cleaner if we implemented this using delegation instead of inheritance. I didn't merge baseline_search_path() into a single function because I wasn't sure if it was correct to always use self._name. For example, if we add a google-chrome-win-vista, we need to add more fallback logic to baseline_search_path(). If you want to write a follow up patch to reduce the number of lines of code, I'd be happy to review . . .
Dirk Pranke
Comment 11 2010-08-12 13:31:16 PDT
(In reply to comment #10) > (In reply to comment #9) > > Okay, you've already committed this, and it'll work, but I wonder if this might be slightly cleaner if we implemented this using delegation instead of inheritance. > > I didn't merge baseline_search_path() into a single function because I wasn't sure if it was correct to always use self._name. For example, if we add a google-chrome-win-vista, we need to add more fallback logic to baseline_search_path(). > > If you want to write a follow up patch to reduce the number of lines of code, I'd be happy to review . . . Fair enough. I'm not actually sure it's safe, either :) We'll consider this a low-priority TODO :)
Note You need to log in before you can comment on or make changes to this bug.