| OLD | NEW | 
|---|
| 1 #!/usr/bin/python | 1 #!/usr/bin/python | 
| 2 # Copyright (c) 2006-2009 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2006-2009 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 # heapcheck_test.py | 6 # heapcheck_test.py | 
| 7 | 7 | 
| 8 """Wrapper for running the test under heapchecker and analyzing the output.""" | 8 """Wrapper for running the test under heapchecker and analyzing the output.""" | 
| 9 | 9 | 
| 10 import datetime | 10 import datetime | 
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 116               print 'Aborting...' | 116               print 'Aborting...' | 
| 117               return 3 | 117               return 3 | 
| 118            # Print the report and set the return code to 1. | 118            # Print the report and set the return code to 1. | 
| 119             print ('Leak of %d bytes in %d objects allocated from:' | 119             print ('Leak of %d bytes in %d objects allocated from:' | 
| 120                    % tuple(cur_leak_signature)) | 120                    % tuple(cur_leak_signature)) | 
| 121             print '\n'.join(cur_report) | 121             print '\n'.join(cur_report) | 
| 122             return_code = 1 | 122             return_code = 1 | 
| 123             # Generate the suppression iff the stack contains more than one | 123             # Generate the suppression iff the stack contains more than one | 
| 124             # frame (otherwise it's likely to be broken) | 124             # frame (otherwise it's likely to be broken) | 
| 125             if len(cur_stack) > 1: | 125             if len(cur_stack) > 1: | 
| 126               print '\nSuppression:\n{' | 126               print '\nSuppression (error hash=#%016X#):\n{' \ | 
|  | 127                   % (hash("".join(cur_stack)) & 0xffffffffffffffff) | 
| 127               print '   <insert_a_suppression_name_here>' | 128               print '   <insert_a_suppression_name_here>' | 
| 128               print '   Heapcheck:Leak' | 129               print '   Heapcheck:Leak' | 
| 129               for frame in cur_stack: | 130               for frame in cur_stack: | 
| 130                 print '   fun:' + frame | 131                 print '   fun:' + frame | 
| 131               print '}\n\n\n' | 132               print '}\n\n\n' | 
| 132             else: | 133             else: | 
| 133               print ('This stack may be broken due to omitted frame pointers. ' | 134               print ('This stack may be broken due to omitted frame pointers. ' | 
| 134                      'It is not recommended to suppress it.') | 135                      'It is not recommended to suppress it.') | 
| 135           else: | 136           else: | 
| 136             # Update the suppressions histogram. | 137             # Update the suppressions histogram. | 
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 202                  'http://dev.chromium.org/developers/how-tos/' | 203                  'http://dev.chromium.org/developers/how-tos/' | 
| 203                  'using-the-heap-leak-checker') | 204                  'using-the-heap-leak-checker') | 
| 204     return retcode | 205     return retcode | 
| 205 | 206 | 
| 206 | 207 | 
| 207 def RunTool(args, supp_files, module): | 208 def RunTool(args, supp_files, module): | 
| 208   tool = HeapcheckWrapper(supp_files) | 209   tool = HeapcheckWrapper(supp_files) | 
| 209   MODULES_TO_SANITY_CHECK = ["base"] | 210   MODULES_TO_SANITY_CHECK = ["base"] | 
| 210   check_sanity = module in MODULES_TO_SANITY_CHECK | 211   check_sanity = module in MODULES_TO_SANITY_CHECK | 
| 211   return tool.Main(args[1:], check_sanity) | 212   return tool.Main(args[1:], check_sanity) | 
| OLD | NEW | 
|---|