Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(497)

Side by Side Diff: client/cros/cros_ui_test.py

Issue 6525034: Don't log chrome SIGABRT crashes during logout. (Closed) Base URL: ssh://git@gitrw.chromium.org:9222/autotest.git@master
Patch Set: Code review fixes. Created 9 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | client/cros/login.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2010 The Chromium OS Authors. All rights reserved. 1 # Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import dbus, logging, os, re, shutil, socket, sys, time 5 import dbus, logging, os, re, shutil, socket, sys, time
6 import common 6 import common
7 import auth_server, constants as chromeos_constants, cryptohome, dns_server 7 import auth_server, constants as chromeos_constants, cryptohome, dns_server
8 import cros_logging, cros_ui, login 8 import cros_logging, cros_ui, login
9 from autotest_lib.client.bin import test, utils 9 from autotest_lib.client.bin import test, utils
10 from autotest_lib.client.common_lib import error 10 from autotest_lib.client.common_lib import error
(...skipping 272 matching lines...) Expand 10 before | Expand all | Expand 10 after
283 method as well. 283 method as well.
284 """ 284 """
285 if hasattr(self, '_authServer'): 285 if hasattr(self, '_authServer'):
286 self.revert_dns() 286 self.revert_dns()
287 self._authServer.stop() 287 self._authServer.stop()
288 self._dnsServer.stop() 288 self._dnsServer.stop()
289 289
290 290
291 def __log_crashed_processes(self, processes): 291 def __log_crashed_processes(self, processes):
292 """Runs through the log watched by |watcher| to see if a crash was 292 """Runs through the log watched by |watcher| to see if a crash was
293 reported for any process names listed in |processes|. 293 reported for any process names listed in |processes|. SIGABRT crashes in
294 chrome during logout are ignored.
294 """ 295 """
295 regex = re.compile(r'Received crash notification for (\w+).+ (sig \d+)', 296 logout_start_regex = re.compile(login.LOGOUT_ATTEMPT_MSG)
296 re.MULTILINE) 297 crash_regex = re.compile(
297 for match in regex.finditer(self._log_reader.get_logs()): 298 'Received crash notification for (\w+).+ (sig \d+)')
298 if match.group(1) not in processes: 299 logout_complete_regex = re.compile(login.LOGOUT_COMPLETE_MSG)
299 self.job.record('INFO', self.tagged_testname, 300
300 "%s crash" % match.group(1), match.group(2)) 301 in_logout = False
302 for line in self._log_reader.get_logs().split('\n'):
303 if logout_start_regex.search(line):
304 in_logout = True
305 elif logout_complete_regex.search(line):
306 in_logout = False
307 else:
308 match = crash_regex.search(line)
309 if (match and not match.group(1) in processes and
310 not (in_logout and
311 match.group(1) == chromeos_constants.BROWSER and
312 match.group(2) == 'sig 6')):
313 self.job.record('INFO', self.tagged_testname,
314 line[match.start():])
301 315
302 316
303 def cleanup(self): 317 def cleanup(self):
304 """Overridden from test.cleanup() to log out when the test is complete. 318 """Overridden from test.cleanup() to log out when the test is complete.
305 """ 319 """
306 logpath = chromeos_constants.CHROME_LOG_DIR 320 logpath = chromeos_constants.CHROME_LOG_DIR
307 321
308 try: 322 try:
309 for file in os.listdir(logpath): 323 for file in os.listdir(logpath):
310 fullpath = os.path.join(logpath, file) 324 fullpath = os.path.join(logpath, file)
(...skipping 23 matching lines...) Expand all
334 348
335 self.stop_authserver() 349 self.stop_authserver()
336 self.__log_crashed_processes(self.crash_blacklist) 350 self.__log_crashed_processes(self.crash_blacklist)
337 351
338 352
339 def get_auth_endpoint_misses(self): 353 def get_auth_endpoint_misses(self):
340 if hasattr(self, '_authServer'): 354 if hasattr(self, '_authServer'):
341 return self._authServer.get_endpoint_misses() 355 return self._authServer.get_endpoint_misses()
342 else: 356 else:
343 return {} 357 return {}
OLDNEW
« no previous file with comments | « no previous file | client/cros/login.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698