RESOLVED FIXED 76612
Some perf tests time out when ran by run-perf-tests
https://bugs.webkit.org/show_bug.cgi?id=76612
Summary Some perf tests time out when ran by run-perf-tests
Ryosuke Niwa
Reported 2012-01-19 01:57:05 PST
Fix perf tests to be ran by run-perf-tests
Attachments
fixes the bug (34.92 KB, patch)
2012-01-19 03:51 PST, Ryosuke Niwa
eric: review+
Ryosuke Niwa
Comment 1 2012-01-19 03:51:22 PST
Created attachment 123099 [details] fixes the bug
Dirk Pranke
Comment 2 2012-01-19 11:56:23 PST
Comment on attachment 123099 [details] fixes the bug The change looks fine, but do we really need/want no_timeout? Isn't using a really long timeout like you've changed good enough?
Eric Seidel (no email)
Comment 3 2012-01-19 11:58:35 PST
Comment on attachment 123099 [details] fixes the bug No, I don't like this change. I don't like modifying the html5 spec, if we don't have to. DRT normally blocks external loads...
Ryosuke Niwa
Comment 4 2012-01-19 11:59:02 PST
(In reply to comment #2) > (From update of attachment 123099 [details]) > The change looks fine, but do we really need/want no_timeout? Isn't using a really long timeout like you've changed good enough? Yes. Otherwise DRT's watchdog timer will fail and DRT times out.
Eric Seidel (no email)
Comment 5 2012-01-19 12:00:24 PST
Comment on attachment 123099 [details] fixes the bug View in context: https://bugs.webkit.org/attachment.cgi?id=123099&action=review > Tools/Scripts/webkitpy/layout_tests/port/webkit_unittest.py:291 > + self.assertEquals(driver.cmd_line(), ['MOCK output of child process/DumpRenderTree', '--pixel-tests', '--no-timeout', '-']) What ports support --no-timeout?
Dirk Pranke
Comment 6 2012-01-19 12:01:42 PST
(In reply to comment #4) > (In reply to comment #2) > > (From update of attachment 123099 [details] [details]) > > The change looks fine, but do we really need/want no_timeout? Isn't using a really long timeout like you've changed good enough? > > Yes. Otherwise DRT's watchdog timer will fail and DRT times out. Which DRT? The Mac DRT, or the Chromium DRT? If it's the Mac DRT, that seems like a bug that should be fixed (it should be taking the passed in timeout), but that doesn't have to block this (i.e., we can land this as-is, and then file a bug to fix the Mac DRT and remove the no_timeout later).
Eric Seidel (no email)
Comment 7 2012-01-19 12:02:17 PST
See also my attempt at this in bug 74649.
Eric Seidel (no email)
Comment 8 2012-01-19 12:02:46 PST
Comment on attachment 123099 [details] fixes the bug I dont' want to change html5.html unless we have to.
Ryosuke Niwa
Comment 9 2012-01-19 12:02:58 PST
(In reply to comment #3) > (From update of attachment 123099 [details]) > No, I don't like this change. I don't like modifying the html5 spec, if we don't have to. DRT normally blocks external loads... It does block and spits out a hundreds of errors about it. This patch removes those error messages. Also, isn't it better to load actual images as supposed to being blocked? e.g. if you open the spec on Safari/Chrome, those external images are loaded and affects the layout/loader behavior. My intention was to make the test's behavior on Safari/Chrome and DRT as close as possible. An alternatively we can make local copies of these images into our repository under images.whatwg.org and remove http://
Eric Seidel (no email)
Comment 10 2012-01-19 12:24:19 PST
Comment on attachment 123099 [details] fixes the bug View in context: https://bugs.webkit.org/attachment.cgi?id=123099&action=review I think this is OK, after further discussion over IRC. > Tools/Scripts/webkitpy/layout_tests/port/webkit.py:452 > + Driver.__init__(self, port, worker_number, pixel_tests, no_timeout) I thought we got the "options" element off the port object? (I'm not saying that's necessarily a good thing,b ut I thought that was the status quo?)
Ryosuke Niwa
Comment 11 2012-01-19 12:29:47 PST
(In reply to comment #10) > (From update of attachment 123099 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=123099&action=review > > I think this is OK, after further discussion over IRC. > > > Tools/Scripts/webkitpy/layout_tests/port/webkit.py:452 > > + Driver.__init__(self, port, worker_number, pixel_tests, no_timeout) > > I thought we got the "options" element off the port object? (I'm not saying that's necessarily a good thing,b ut I thought that was the status quo?) It appears that port's options object is passed down from the command line argument so I didn't think sticking a random argument there was a good idea. Of course, we could make --no-timeout a command line argument and set it by default but there's not much use in run-perf-tests if no_timeout was False since DRT ends up timing out in a number of tests (2-3 on my MacPro but probably more on slower machines or on slower DRTs). But I can change if you strongly feel about it. FWIW, it makes my patch smaller since I won't have to pass no_timeout argument everywhere.
Dirk Pranke
Comment 12 2012-01-19 12:31:24 PST
Comment on attachment 123099 [details] fixes the bug View in context: https://bugs.webkit.org/attachment.cgi?id=123099&action=review >> Tools/Scripts/webkitpy/layout_tests/port/webkit.py:452 >> + Driver.__init__(self, port, worker_number, pixel_tests, no_timeout) > > I thought we got the "options" element off the port object? (I'm not saying that's necessarily a good thing,b ut I thought that was the status quo?) We do, normally, but unless I'm missing something there is no options.no_timeout, so this is correct. (Or we could add one, but I'd rather see us just fix DRTs to take arbitrarily long timeouts).
Ryosuke Niwa
Comment 13 2012-01-19 12:34:03 PST
(In reply to comment #12) > (From update of attachment 123099 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=123099&action=review > > >> Tools/Scripts/webkitpy/layout_tests/port/webkit.py:452 > >> + Driver.__init__(self, port, worker_number, pixel_tests, no_timeout) > > > > I thought we got the "options" element off the port object? (I'm not saying that's necessarily a good thing,b ut I thought that was the status quo?) > > We do, normally, but unless I'm missing something there is no options.no_timeout, so this is correct. (Or we could add one, but I'd rather see us just fix DRTs to take arbitrarily long timeouts). DRT DOES take arbitrarily long timeouts. It's just that some DRTs have "watchdog" timer as well, and --no-timeout will disable that.
Ryosuke Niwa
Comment 14 2012-01-19 13:50:58 PST
Csaba Osztrogonác
Comment 15 2012-01-19 14:29:47 PST
Ryosuke Niwa
Comment 16 2012-01-19 15:22:01 PST
Note You need to log in before you can comment on or make changes to this bug.