Changeset 219088 in webkit
- Timestamp:
- Jul 3, 2017 1:15:04 PM (7 years ago)
- Location:
- trunk/Tools
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Tools/ChangeLog
r219087 r219088 1 2017-07-03 Jonathan Bedard <jbedard@apple.com> 2 3 webkitpy: Properly number duplicated crashlogs 4 https://bugs.webkit.org/show_bug.cgi?id=172002 5 6 Reviewed by Aakash Jain. 7 8 * Scripts/webkitpy/common/system/crashlogs.py: 9 (CrashLogs._find_all_logs_darwin): Number multiple crash logs for a single process with 10 an increasing integer. 11 * Scripts/webkitpy/common/system/crashlogs_unittest.py: 12 (CrashLogsTest.create_crash_logs_darwin): Create duplicated crashlog for testing. 13 (CrashLogsTest.test_find_all_log_darwin): Now 7 Darwin logs instead of 5. 14 (CrashLogsTest.test_duplicate_log_darwin): Test that duplicated logs are correctly numbered. 15 1 16 2017-07-03 Ryosuke Niwa <rniwa@webkit.org> 2 17 -
trunk/Tools/Scripts/webkitpy/common/system/crashlogs.py
r217853 r219088 162 162 result_name = parsed_name + "-" + str(parsed_pid) 163 163 164 while result_name in crash_logs: 165 result_name = result_name + "-1" 166 crash_logs[result_name] = errors + log_contents 164 # Processes can remain running after Sandbox violations, which generate crash logs. 165 # This means that we can have mutliple crash logs attributed to the same process. 166 # The unique_name must be named in the format PROCESS_NAME-PID-#, where '-#' is optional. 167 # This is because of how DarwinPort._merge_crash_logs parses the crash name. 168 count = 1 169 unique_name = result_name 170 while unique_name in crash_logs: 171 unique_name = result_name + '-' + str(count) 172 count += 1 173 crash_logs[unique_name] = errors + log_contents 167 174 except IOError, e: 168 175 if include_errors: -
trunk/Tools/Scripts/webkitpy/common/system/crashlogs_unittest.py
r217853 r219088 249 249 self.misformatted_mock_crash_report = 'Junk that should not appear in a crash report' + make_mock_crash_report_darwin('DumpRenderTree', 28526)[200:] 250 250 self.files = {} 251 self.files['/Users/mock/Library/Logs/DiagnosticReports/DumpRenderTree_2011-06-13-150718_quadzen.crash'] = self.older_mock_crash_report 251 self.files['/Users/mock/Library/Logs/DiagnosticReports/DumpRenderTree_2011-06-13-150716_quadzen.crash'] = self.older_mock_crash_report 252 self.files['/Users/mock/Library/Logs/DiagnosticReports/DumpRenderTree_2011-06-13-150717_quadzen_1.crash'] = self.older_mock_crash_report 253 self.files['/Users/mock/Library/Logs/DiagnosticReports/DumpRenderTree_2011-06-13-150718_quadzen_2.crash'] = self.older_mock_crash_report 252 254 self.files['/Users/mock/Library/Logs/DiagnosticReports/DumpRenderTree_2011-06-13-150719_quadzen.crash'] = self.mock_crash_report 253 255 self.files['/Users/mock/Library/Logs/DiagnosticReports/DumpRenderTree_2011-06-13-150720_quadzen.crash'] = self.newer_mock_crash_report … … 268 270 crash_logs = self.create_crash_logs_darwin() 269 271 all_logs = crash_logs.find_all_logs() 270 self.assertEqual(len(all_logs), 5)272 self.assertEqual(len(all_logs), 7) 271 273 272 274 for test, crash_log in all_logs.iteritems(): 273 275 self.assertTrue(crash_log in self.files.values()) 274 276 self.assertTrue(test == "Unknown" or int(test.split("-")[1]) in range(28527, 28531)) 277 278 def test_duplicate_log_darwin(self): 279 if not SystemHost().platform.is_mac(): 280 return 281 282 crash_logs = self.create_crash_logs_darwin() 283 all_logs = crash_logs.find_all_logs() 284 expected_logs = ['DumpRenderTree-28528', 'DumpRenderTree-28528-1', 'DumpRenderTree-28528-2', 285 'DumpRenderTree-28529', 'DumpRenderTree-28530', 'FooProcess-28527', 'Unknown'] 286 287 for log in expected_logs: 288 self.assertIn(log, all_logs) 289 for log in all_logs: 290 self.assertIn(log, expected_logs) 275 291 276 292 def test_find_log_darwin(self):
Note: See TracChangeset
for help on using the changeset viewer.