Strip extraneous AVFoundation and CoreMedia logging
authoreric.carlson@apple.com <eric.carlson@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 12 Sep 2014 13:06:13 +0000 (13:06 +0000)
committereric.carlson@apple.com <eric.carlson@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 12 Sep 2014 13:06:13 +0000 (13:06 +0000)
https://bugs.webkit.org/show_bug.cgi?id=136747

Reviewed by Jer Noble.

* Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:
(SingleTestRunner._run_compare_test): Allow the port to specify patterns to strip from stderr.

* Scripts/webkitpy/port/base.py:
(Port.stderr_patterns_to_strip): Base class, empty list

* Scripts/webkitpy/port/driver.py:
(DriverOutput.strip_stderror_patterns): Strip the specified patterns from stderr.

* Scripts/webkitpy/port/ios.py:
(IOSSimulatorPort.stderr_patterns_to_strip): iOS patterns - there are none.

* Scripts/webkitpy/port/mac.py:
(MacPort.stderr_patterns_to_strip): CoreMedia and AVFoundation logging we can ignore.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173557 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Tools/ChangeLog
Tools/Scripts/webkitpy/layout_tests/controllers/single_test_runner.py
Tools/Scripts/webkitpy/port/base.py
Tools/Scripts/webkitpy/port/driver.py
Tools/Scripts/webkitpy/port/ios.py
Tools/Scripts/webkitpy/port/mac.py

index 9f91207..6e771db 100644 (file)
@@ -1,3 +1,26 @@
+2014-09-12  Eric Carlson  <eric.carlson@apple.com>
+
+        Strip extraneous AVFoundation and CoreMedia logging
+        https://bugs.webkit.org/show_bug.cgi?id=136747
+
+        Reviewed by Jer Noble.
+
+        * Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:
+        (SingleTestRunner._run_compare_test): Allow the port to specify patterns to strip from stderr.
+
+        * Scripts/webkitpy/port/base.py:
+        (Port.stderr_patterns_to_strip): Base class, empty list
+
+        * Scripts/webkitpy/port/driver.py:
+        (DriverOutput.strip_stderror_patterns): Strip the specified patterns from stderr.
+
+        * Scripts/webkitpy/port/ios.py:
+        (IOSSimulatorPort.stderr_patterns_to_strip): iOS patterns - there are none.
+
+        * Scripts/webkitpy/port/mac.py:
+        (MacPort.stderr_patterns_to_strip): CoreMedia and AVFoundation logging we can ignore.
+
+
 2014-09-11  Michael Saboff  <msaboff@apple.com>
 
         lldb_webkit.py:btjs doesn't work with release builds
index 2e5fefd..ec8b5d0 100644 (file)
@@ -116,6 +116,8 @@ class SingleTestRunner(object):
         expected_driver_output.strip_patterns(patterns)
         driver_output.strip_patterns(patterns)
 
+        driver_output.strip_stderror_patterns(self._port.stderr_patterns_to_strip())
+
         test_result = self._compare_output(expected_driver_output, driver_output)
         if self._options.new_test_results:
             self._add_missing_baselines(test_result, driver_output)
index c377e59..a4b6ad1 100644 (file)
@@ -1399,6 +1399,9 @@ class Port(object):
     def logging_patterns_to_strip(self):
         return []
 
+    def stderr_patterns_to_strip(self):
+        return []
+
     def test_expectations_file_position(self):
         # By default baseline search path schema is i.e. port-wk2 -> wk2 -> port -> generic, so port expectations file is at second to last position.
         return 1
index f95014d..57e6f51 100644 (file)
@@ -107,6 +107,12 @@ class DriverOutput(object):
         for pattern in patterns:
             self.text = re.sub(pattern[0], pattern[1], self.text)
 
+    def strip_stderror_patterns(self, patterns):
+        if not self.error:
+            return
+        for pattern in patterns:
+            self.error = re.sub(pattern[0], pattern[1], self.error)
+
 class Driver(object):
     """object for running test(s) using DumpRenderTree/WebKitTestRunner."""
 
index f6012d9..660b757 100644 (file)
@@ -350,3 +350,6 @@ class IOSSimulatorPort(Port):
 
     def logging_patterns_to_strip(self):
         return []
+
+    def stderr_patterns_to_strip(self):
+        return []
index 9aaba8d..af9ca6a 100644 (file)
@@ -323,3 +323,14 @@ class MacPort(ApplePort):
     def logging_patterns_to_strip(self):
         # FIXME: Remove this after <rdar://problem/15605007> is fixed
         return [(re.compile('(AVF|GVA) info:.*\n'), '')]
+
+    def stderr_patterns_to_strip(self):
+        worthless_patterns = []
+        worthless_patterns.append((re.compile('.*(Fig|fig|itemasync|vt|mv_|PullParamSetSPS|ccrp_|client).* signalled err=.*\n'), ''))
+        worthless_patterns.append((re.compile('.*<<<< FigFilePlayer >>>>.*\n'), ''))
+        worthless_patterns.append((re.compile('.*<<<< FigFile >>>>.*\n'), ''))
+        worthless_patterns.append((re.compile('.*<<<< FAQ >>>>.*\n'), ''))
+        worthless_patterns.append((re.compile('.*<<<< MediaValidator >>>>.*\n'), ''))
+        worthless_patterns.append((re.compile('.*<<<< VMC >>>>.*\n'), ''))
+        worthless_patterns.append((re.compile('.*<<< FFR_Common >>>.*\n'), ''))
+        return worthless_patterns