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

Unified Diff: client/site_tests/logging_CrashSender/logging_CrashSender.py

Issue 4113004: autotest: Test new crash_reporter error diagnostics (Closed) Base URL: http://git.chromium.org/git/autotest.git
Patch Set: Add signature for error logs 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 side-by-side diff with in-line comments
Download patch
Index: client/site_tests/logging_CrashSender/logging_CrashSender.py
diff --git a/client/site_tests/logging_CrashSender/logging_CrashSender.py b/client/site_tests/logging_CrashSender/logging_CrashSender.py
index 47e5f93c57b359634379186da99cb7608aa559f1..4c6f06f5a3516f883ae6a0fcb1d7b56b96ed1f94 100644
--- a/client/site_tests/logging_CrashSender/logging_CrashSender.py
+++ b/client/site_tests/logging_CrashSender/logging_CrashSender.py
@@ -62,7 +62,7 @@ class logging_CrashSender(site_crash_test.CrashTest):
def _test_sender_simple_old_minidump(self):
"""Test that old minidumps and metadata are sent."""
dmp_path = self.write_crash_dir_entry('fake.dmp', '')
- meta_path = self.write_fake_meta('fake.meta', 'fake')
+ meta_path = self.write_fake_meta('fake.meta', 'fake', dmp_path)
self._shift_file_mtime(dmp_path, _25_HOURS_AGO)
self._shift_file_mtime(meta_path, _25_HOURS_AGO)
self._check_simple_minidump_send(meta_path)
@@ -72,7 +72,9 @@ class logging_CrashSender(site_crash_test.CrashTest):
"""Test sending a single kcrash report."""
kcrash_fake_report = self.write_crash_dir_entry(
'kernel.today.kcrash', '')
- self.write_fake_meta('kernel.today.meta', 'kernel')
+ self.write_fake_meta('kernel.today.meta',
+ 'kernel',
+ kcrash_fake_report)
result = self._call_sender_one_crash(report=kcrash_fake_report)
if (result['report_exists'] or
result['rate_count'] != 1 or
@@ -198,8 +200,11 @@ class logging_CrashSender(site_crash_test.CrashTest):
def _test_sender_incomplete_metadata(self):
"""Test that incomplete metadata file is removed once old."""
- meta_file = self.write_crash_dir_entry('incomplete.meta', 'half=1')
dmp_file = self.write_crash_dir_entry('incomplete.dmp', '')
+ meta_file = self.write_fake_meta('incomplete.meta',
+ 'unknown',
+ dmp_file,
+ complete=False)
# As new files, we expect crash_sender to leave these alone.
results = self._call_sender_one_crash()
if ('Removing recent incomplete report' in results['output'] or
@@ -214,6 +219,19 @@ class logging_CrashSender(site_crash_test.CrashTest):
'Old unknown/incomplete files were not removed')
+ def _test_sender_missing_payload(self):
+ meta_file = self.write_fake_meta('bad.meta',
+ 'unknown',
+ 'bad.dmp')
+ other_file = self.write_crash_dir_entry('bad.other', '')
+ results = self._call_sender_one_crash(report=meta_file)
+ # Should remove this file.
+ if (not 'Missing payload' in results['output'] or
+ os.path.exists(meta_file) or
+ os.path.exists(other_file)):
+ raise error.TestFail('Missing payload case handled wrong')
+
+
def _test_cron_runs(self):
"""Test sender runs successfully as part of the hourly cron job.
@@ -252,4 +270,5 @@ class logging_CrashSender(site_crash_test.CrashTest):
'sender_send_fails',
'sender_orphaned_files',
'sender_incomplete_metadata',
+ 'sender_missing_payload',
'cron_runs'])

Powered by Google App Engine
This is Rietveld 408576698