| Index: client/bin/site_crash_test.py
|
| diff --git a/client/bin/site_crash_test.py b/client/bin/site_crash_test.py
|
| index 011c9715606f990e2dc82bab8630d11fcfda58fa..b0521446d8da2c0b2fad90fe32637ab2d9767bdc 100644
|
| --- a/client/bin/site_crash_test.py
|
| +++ b/client/bin/site_crash_test.py
|
| @@ -10,6 +10,7 @@ from autotest_lib.client.common_lib import error, utils
|
| class CrashTest(test.test):
|
|
|
| _CONSENT_FILE = '/home/chronos/Consent To Send Stats'
|
| + _CORE_PATTERN = '/proc/sys/kernel/core_pattern'
|
| _CRASH_REPORTER_PATH = '/sbin/crash_reporter'
|
| _CRASH_SENDER_PATH = '/sbin/crash_sender'
|
| _CRASH_SENDER_RATE_DIR = '/var/lib/crash_sender'
|
| @@ -102,6 +103,10 @@ class CrashTest(test.test):
|
|
|
| def _initialize_crash_reporter(self):
|
| utils.system('%s --init --nounclean_check' % self._CRASH_REPORTER_PATH)
|
| + # Completely disable crash_reporter from generating crash dumps
|
| + # while any tests are running, otherwise a crashy system can make
|
| + # these tests flaky.
|
| + self.enable_crash_filtering('none')
|
|
|
|
|
| def write_crash_dir_entry(self, name, contents):
|
| @@ -278,11 +283,29 @@ class CrashTest(test.test):
|
| return result
|
|
|
|
|
| + def _replace_crash_reporter_filter_in(self, new_parameter):
|
| + core_pattern = utils.read_file(self._CORE_PATTERN)[:-1]
|
| + core_pattern = re.sub('--filter_in=\S*\s*', '',
|
| + core_pattern).rstrip()
|
| + if new_parameter:
|
| + core_pattern += ' ' + new_parameter
|
| + utils.system('echo "%s" > %s' % (core_pattern, self._CORE_PATTERN))
|
| +
|
| +
|
| + def enable_crash_filtering(self, name):
|
| + self._replace_crash_reporter_filter_in('--filter_in=' + name)
|
| +
|
| +
|
| + def disable_crash_filtering(self):
|
| + self._replace_crash_reporter_filter_in('')
|
| +
|
| +
|
| def initialize(self):
|
| test.test.initialize(self)
|
| self._log_reader = site_log_reader.LogReader()
|
| self._leave_crash_sending = True
|
| self._automatic_consent_saving = True
|
| + self.enable_crash_filtering('none')
|
|
|
|
|
| def cleanup(self):
|
| @@ -292,6 +315,7 @@ class CrashTest(test.test):
|
| self._set_sending_mock(mock_enabled=False)
|
| if self._automatic_consent_saving:
|
| self._pop_consent()
|
| + self.disable_crash_filtering()
|
| test.test.cleanup(self)
|
|
|
|
|
|
|