Changeset 100618 in webkit


Ignore:
Timestamp:
Nov 17, 2011 6:53:02 AM (12 years ago)
Author:
Adam Roben
Message:

Ignore some leaks in frameworks we link against on Lion

Fixes <http://webkit.org/b/72609> Lion Leaks bot complains about a bunch of leaks that
aren't WebKit's fault

Reviewed by Antti Koivisto.

  • Scripts/old-run-webkit-tests:

(countAndPrintLeaks):

  • Scripts/webkitpy/layout_tests/port/leakdetector.py:

(LeakDetector._callstacks_to_exclude_from_leaks):
Added some call stacks to exclude on Lion that represent leaks in lower-level frameworks.

  • Scripts/webkitpy/layout_tests/port/mac.py:

(MacPort.is_lion): Added.

  • Scripts/webkitpy/layout_tests/port/mac_unittest.py:

(MacPortTest.test_is_version_methods): Added tests for the is_leopard/is_snowleopard/is_lion
methods.

Location:
trunk/Tools
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Tools/ChangeLog

    r100605 r100618  
     12011-11-17  Adam Roben  <aroben@apple.com>
     2
     3        Ignore some leaks in frameworks we link against on Lion
     4
     5        Fixes <http://webkit.org/b/72609> Lion Leaks bot complains about a bunch of leaks that
     6        aren't WebKit's fault
     7
     8        Reviewed by Antti Koivisto.
     9
     10        * Scripts/old-run-webkit-tests:
     11        (countAndPrintLeaks):
     12        * Scripts/webkitpy/layout_tests/port/leakdetector.py:
     13        (LeakDetector._callstacks_to_exclude_from_leaks):
     14        Added some call stacks to exclude on Lion that represent leaks in lower-level frameworks.
     15
     16        * Scripts/webkitpy/layout_tests/port/mac.py:
     17        (MacPort.is_lion): Added.
     18
     19        * Scripts/webkitpy/layout_tests/port/mac_unittest.py:
     20        (MacPortTest.test_is_version_methods): Added tests for the is_leopard/is_snowleopard/is_lion
     21        methods.
     22
    1232011-11-17  Philippe Normand  <pnormand@igalia.com>
    224
  • trunk/Tools/Scripts/old-run-webkit-tests

    r98279 r100618  
    12801280    }
    12811281
     1282    if (isLion()) {
     1283        push @callStacksToExclude, (
     1284            "FigByteFlumeCustomURLCreateWithURL", # <rdar://problem/10461926> leak in CoreMedia
     1285            "PDFPage\\(PDFPageInternal\\) pageLayoutIfAvail", # <rdar://problem/10462055> leak in PDFKit
     1286            "_NSCopyStyleRefForFocusRingStyleClip", # <rdar://problem/10462031> leak in AppKit
     1287        );
     1288    }
     1289
    12821290    my $leaksTool = sourceDir() . "/Tools/Scripts/run-leaks";
    12831291    my $excludeString = "--exclude-callstack '" . (join "' --exclude-callstack '", @callStacksToExclude) . "'";
  • trunk/Tools/Scripts/webkitpy/layout_tests/port/leakdetector.py

    r98758 r100618  
    7676                "glrCompExecuteKernel",  # <rdar://problem/7815391> leak in graphics driver while using OpenGL
    7777                "NSNumberFormatter getObjectValue:forString:errorDescription:",  # <rdar://problem/7149350> Leak in NSNumberFormatter
     78            ]
     79        elif self._port.is_lion():
     80            callstacks += [
     81                "FigByteFlumeCustomURLCreateWithURL", # <rdar://problem/10461926> leak in CoreMedia
     82                "PDFPage\(PDFPageInternal\) pageLayoutIfAvail", # <rdar://problem/10462055> leak in PDFKit
     83                "_NSCopyStyleRefForFocusRingStyleClip", # <rdar://problem/10462031> leak in AppKit
    7884            ]
    7985        return callstacks
  • trunk/Tools/Scripts/webkitpy/layout_tests/port/mac.py

    r99773 r100618  
    114114
    115115    # Belongs on a Platform object.
     116    def is_lion(self):
     117        return self._version == "lion"
     118
     119    # Belongs on a Platform object.
    116120    def is_crash_reporter(self, process_name):
    117121        return re.search(r'ReportCrash', process_name)
  • trunk/Tools/Scripts/webkitpy/layout_tests/port/mac_unittest.py

    r99781 r100618  
    114114        self.assertRaises(AssertionError, self.assert_name, None, '10.3.1', 'should-raise-assertion-so-this-value-does-not-matter')
    115115
     116    def test_is_version_methods(self):
     117        leopard_port = self.make_port(port_name='mac-leopard', os_version_string='10.5.3')
     118        self.assertTrue(leopard_port.is_leopard())
     119        self.assertFalse(leopard_port.is_snowleopard())
     120        self.assertFalse(leopard_port.is_lion())
     121
     122        snowleopard_port = self.make_port(port_name='mac-snowleopard', os_version_string='10.6.3')
     123        self.assertFalse(snowleopard_port.is_leopard())
     124        self.assertTrue(snowleopard_port.is_snowleopard())
     125        self.assertFalse(snowleopard_port.is_lion())
     126
     127        lion_port = self.make_port(port_name='mac-lion', os_version_string='10.7.2')
     128        self.assertFalse(lion_port.is_leopard())
     129        self.assertFalse(lion_port.is_snowleopard())
     130        self.assertTrue(lion_port.is_lion())
     131
    116132    def test_setup_environ_for_server(self):
    117133        port = MacPort(MockHost(), options=MockOptions(leaks=True, guard_malloc=True))
Note: See TracChangeset for help on using the changeset viewer.