| OLD | NEW |
| 1 #!/bin/env python | 1 #!/bin/env python |
| 2 # Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. |
| 3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
| 4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
| 5 | 5 |
| 6 # purify_message.py | 6 # purify_message.py |
| 7 | 7 |
| 8 ''' Utility objects and functions to parse and unique Purify messages ''' | 8 ''' Utility objects and functions to parse and unique Purify messages ''' |
| 9 | 9 |
| 10 import cStringIO | 10 import cStringIO |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 110 re.compile('testing::TestInfoImpl::Run\(void\)'), | 110 re.compile('testing::TestInfoImpl::Run\(void\)'), |
| 111 re.compile('Thread::ThreadFunc\\(void \*\)'), | 111 re.compile('Thread::ThreadFunc\\(void \*\)'), |
| 112 re.compile('TimerTask::Run\(void\)'), | 112 re.compile('TimerTask::Run\(void\)'), |
| 113 re.compile('MessageLoop::RunTask\(Task \*\)'), | 113 re.compile('MessageLoop::RunTask\(Task \*\)'), |
| 114 re.compile('.DispatchToMethod\@.*'), | 114 re.compile('.DispatchToMethod\@.*'), |
| 115 ) | 115 ) |
| 116 | 116 |
| 117 # if functions match the following, elide them from the stack | 117 # if functions match the following, elide them from the stack |
| 118 pat_func_elide = (re.compile('^std::'), re.compile('^new\(')) | 118 pat_func_elide = (re.compile('^std::'), re.compile('^new\(')) |
| 119 # if files match the following, elide them from the stack | 119 # if files match the following, elide them from the stack |
| 120 pat_file_elide = (re.compile('.*platformsdk_win2008.*'), | 120 pat_file_elide = (re.compile('.*platformsdk_vista.*'), |
| 121 re.compile('.*.(dll|DLL)$'), | 121 re.compile('.*.(dll|DLL)$'), |
| 122 # bug 1069902 | 122 # bug 1069902 |
| 123 re.compile('webkit/pending/wtf/fastmalloc\.h'), | 123 re.compile('webkit/pending/wtf/fastmalloc\.h'), |
| 124 # When we leak sqlite stuff, we leak a lot, and the stacks | 124 # When we leak sqlite stuff, we leak a lot, and the stacks |
| 125 # are all over the place. For now, let's assume that | 125 # are all over the place. For now, let's assume that |
| 126 # sqlite itself is leak free and focus on our calling code. | 126 # sqlite itself is leak free and focus on our calling code. |
| 127 re.compile('third_party/sqlite/.*'), | 127 re.compile('third_party/sqlite/.*'), |
| 128 ) | 128 ) |
| 129 | 129 |
| 130 pat_unit_test = re.compile('^([a-zA-Z0-9]+)_(\w+)_Test::.*') | 130 pat_unit_test = re.compile('^([a-zA-Z0-9]+)_(\w+)_Test::.*') |
| (...skipping 470 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 601 ''' | 601 ''' |
| 602 unique = self.UniqueMessages() | 602 unique = self.UniqueMessages() |
| 603 groups = {} | 603 groups = {} |
| 604 for msg in unique: | 604 for msg in unique: |
| 605 group = msg.GetGroup() | 605 group = msg.GetGroup() |
| 606 if not group in groups: | 606 if not group in groups: |
| 607 groups[group] = [] | 607 groups[group] = [] |
| 608 groups[group].append(msg) | 608 groups[group].append(msg) |
| 609 return groups | 609 return groups |
| 610 | 610 |
| OLD | NEW |