Title: [135942] trunk/Tools
- Revision
- 135942
- Author
- [email protected]
- Date
- 2012-11-27 16:40:06 -0800 (Tue, 27 Nov 2012)
Log Message
run-perf-tests fails on Android because of stderr output
https://bugs.webkit.org/show_bug.cgi?id=103462
Reviewed by Ryosuke Niwa.
The chromium-android port produces some stderr output that causes
run-perf-tests to get sad and not record the results of the performance
test. This patch teaches run-perf-test to ignore this output much in
the same way that it currently ignores some stdout messages.
* Scripts/webkitpy/performance_tests/perftest.py:
(PerfTest.run):
(PerfTest._should_ignore_line):
(PerfTest):
(PerfTest._should_ignore_line_in_stderr):
(PerfTest._filter_stderr):
(PerfTest._should_ignore_line_in_parser_test_result):
Modified Paths
Diff
Modified: trunk/Tools/ChangeLog (135941 => 135942)
--- trunk/Tools/ChangeLog 2012-11-28 00:38:37 UTC (rev 135941)
+++ trunk/Tools/ChangeLog 2012-11-28 00:40:06 UTC (rev 135942)
@@ -1,3 +1,23 @@
+2012-11-27 Adam Barth <[email protected]>
+
+ run-perf-tests fails on Android because of stderr output
+ https://bugs.webkit.org/show_bug.cgi?id=103462
+
+ Reviewed by Ryosuke Niwa.
+
+ The chromium-android port produces some stderr output that causes
+ run-perf-tests to get sad and not record the results of the performance
+ test. This patch teaches run-perf-test to ignore this output much in
+ the same way that it currently ignores some stdout messages.
+
+ * Scripts/webkitpy/performance_tests/perftest.py:
+ (PerfTest.run):
+ (PerfTest._should_ignore_line):
+ (PerfTest):
+ (PerfTest._should_ignore_line_in_stderr):
+ (PerfTest._filter_stderr):
+ (PerfTest._should_ignore_line_in_parser_test_result):
+
2012-11-27 Tony Chang <[email protected]>
Fix garden-o-matic for non-chromium ports
Modified: trunk/Tools/Scripts/webkitpy/performance_tests/perftest.py (135941 => 135942)
--- trunk/Tools/Scripts/webkitpy/performance_tests/perftest.py 2012-11-28 00:38:37 UTC (rev 135941)
+++ trunk/Tools/Scripts/webkitpy/performance_tests/perftest.py 2012-11-28 00:40:06 UTC (rev 135942)
@@ -70,6 +70,7 @@
def run(self, driver, time_out_ms):
output = self.run_single(driver, self.path_or_url(), time_out_ms)
+ self._filter_stderr(output)
if self.run_failed(output):
return None
return self.parse_output(output)
@@ -92,6 +93,27 @@
return True
+ def _should_ignore_line(self, regexps, line):
+ if not line:
+ return True
+ for regexp in regexps:
+ if regexp.search(line):
+ return True
+ return False
+
+ _lines_to_ignore_in_stderr = [
+ re.compile(r'^Unknown option:'),
+ re.compile(r'^\[WARNING:proxy_service.cc')]
+
+ def _should_ignore_line_in_stderr(self, line):
+ return self._should_ignore_line(self._lines_to_ignore_in_stderr, line)
+
+ def _filter_stderr(self, output):
+ if not output.error:
+ return
+ filtered_error = '\n'.join([line for line in re.split('\n', output.error) if not self._should_ignore_line_in_stderr(line)])
+ output.error = filtered_error if filtered_error else None
+
_lines_to_ignore_in_parser_result = [
re.compile(r'^Running \d+ times$'),
re.compile(r'^Ignoring warm-up '),
@@ -105,12 +127,7 @@
re.compile(re.escape("""Blocked access to external URL http://www.whatwg.org/specs/web-apps/current-work/"""))]
def _should_ignore_line_in_parser_test_result(self, line):
- if not line:
- return True
- for regex in self._lines_to_ignore_in_parser_result:
- if regex.search(line):
- return True
- return False
+ return self._should_ignore_line(self._lines_to_ignore_in_parser_result, line)
_description_regex = re.compile(r'^Description: (?P<description>.*)$', re.IGNORECASE)
_result_classes = ['Time', 'JS Heap', 'Malloc']
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes