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

Side by Side Diff: client/site_tests/logging_KernelCrash/logging_KernelCrash.py

Issue 3856002: autotest: fix race condition between cron crash_sender and test invoked (Closed) Base URL: http://git.chromium.org/git/autotest.git
Patch Set: fix tab Created 10 years, 2 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
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 logging, os, re 5 import logging, os, re
6 from autotest_lib.client.bin import site_crash_test, site_log_reader, \ 6 from autotest_lib.client.bin import site_crash_test, site_log_reader, \
7 site_utils, test 7 site_utils, test
8 from autotest_lib.client.common_lib import error, utils 8 from autotest_lib.client.common_lib import error, utils
9 9
10 10
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
62 raise error.TestFail('%s was not properly cleared' % _KCRASH_FILE) 62 raise error.TestFail('%s was not properly cleared' % _KCRASH_FILE)
63 63
64 64
65 def _test_sender_send_kcrash(self): 65 def _test_sender_send_kcrash(self):
66 """Test that crash_sender properly sends the crash report.""" 66 """Test that crash_sender properly sends the crash report."""
67 if not self._consent: 67 if not self._consent:
68 return 68 return
69 kcrash_report = self._get_kcrash_name() 69 kcrash_report = self._get_kcrash_name()
70 if not os.path.exists(kcrash_report): 70 if not os.path.exists(kcrash_report):
71 raise error.TestFail('Crash report gone') 71 raise error.TestFail('Crash report gone')
72 self._set_sending(True)
73 result = self._call_sender_one_crash( 72 result = self._call_sender_one_crash(
74 report=os.path.basename(kcrash_report)) 73 report=os.path.basename(kcrash_report))
75 if (not result['send_attempt'] or not result['send_success'] or 74 if (not result['send_attempt'] or not result['send_success'] or
76 result['report_exists']): 75 result['report_exists']):
77 raise error.TestFail('kcrash not sent properly') 76 raise error.TestFail('kcrash not sent properly')
78 if result['exec_name'] != 'kernel' or result['report_kind'] != 'kcrash': 77 if result['exec_name'] != 'kernel' or result['report_kind'] != 'kcrash':
79 raise error.TestFail('kcrash exec name or report kind wrong') 78 raise error.TestFail('kcrash exec name or report kind wrong')
80 if result['report_payload'] != kcrash_report: 79 if result['report_payload'] != kcrash_report:
81 raise error.TestFail('Sent the wrong kcrash report') 80 raise error.TestFail('Sent the wrong kcrash report')
82 81
83 82
84 def run_once(self, is_before, consent): 83 def run_once(self, is_before, consent):
85 self._log_reader.set_start_by_reboot(-1) 84 self._log_reader.set_start_by_reboot(-1)
86 # We manage consent saving across tests. 85 # We manage consent saving across tests.
87 self._automatic_consent_saving = False 86 self._automatic_consent_saving = False
88 self._consent = consent 87 self._consent = consent
89 if is_before: 88 if is_before:
90 self.run_crash_tests(['reporter_startup'], must_run_all=False) 89 self.run_crash_tests(['reporter_startup'], must_run_all=False)
91 # Leave crash sending paused for the kernel crash. 90 # Leave crash sending paused for the kernel crash.
92 self._leave_crash_sending = False 91 self._leave_crash_sending = False
93 else: 92 else:
94 self.run_crash_tests(['reporter_startup', 93 self.run_crash_tests(['reporter_startup',
95 'reporter_kcrash_storage', 94 'reporter_kcrash_storage',
96 'sender_send_kcrash'], 95 'sender_send_kcrash'],
97 clear_spool_first=False) 96 clear_spool_first=False)
OLDNEW
« no previous file with comments | « client/site_tests/logging_CrashSender/logging_CrashSender.py ('k') | client/site_tests/logging_UserCrash/logging_UserCrash.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698