autotest: suite: merge _EmailResultReporter into other reporters
Other reporter classes (that file bugs) are now obsolete. Merge
_EmailResultReporter into them.
BUG=chromium:751428
TEST=grepping for references to removed classes
Change-Id: I4d12b3c0b0dc7cfd2eae665c6677f1e859084c4f
Reviewed-on: https://chromium-review.googlesource.com/614103
Commit-Ready: Aviv Keshet <akeshet@chromium.org>
Tested-by: Aviv Keshet <akeshet@chromium.org>
Reviewed-by: Allen Li <ayatane@chromium.org>
diff --git a/server/cros/dynamic_suite/suite.py b/server/cros/dynamic_suite/suite.py
index 9d47285..ab8c785 100644
--- a/server/cros/dynamic_suite/suite.py
+++ b/server/cros/dynamic_suite/suite.py
@@ -1262,7 +1262,7 @@
def _get_result_reporter(self):
"""Return the _ResultReporter instance to use for the suite."""
- return _EmailResultReporter(self)
+ return _EmailReporter(self)
def _finished_waiting(self):
@@ -1749,13 +1749,15 @@
"""
-class _TestBugReporter(_ResultReporter):
- """Base class that implements making test bugs."""
- # pylint: disable=abstract-method
+class _EmailReporter(_ResultReporter):
+ """Class that emails based on test failures."""
- def __init__(self, suite, bug_template):
+ # TODO(akeshet): Document what |bug_template| is actually supposed to come
+ # from, and rename it to something unrelated to "bugs" which are no longer
+ # relevant now that this is purely an email sender.
+ def __init__(self, suite, bug_template=None):
self._suite = suite
- self._bug_template = bug_template
+ self._bug_template = bug_template or {}
def _get_test_bug(self, result):
"""Get TestBug for the given result.
@@ -1809,52 +1811,6 @@
'be used.', e)
return {}
-
-class _BugResultReporter(_TestBugReporter):
- """
- Report test results as bugs.
- """
-
- def __init__(self, suite, bug_reporter, bug_template):
- """
- Instantiate instance.
-
- @param suite: _BaseSuite instance
- @param bug_reporter: Reporter instance for reporting bugs.
- @param bug_template: A template dictionary specifying the default bug
- filing options for failures in this suite.
- """
- super(_BugResultReporter, self).__init__(suite, bug_template)
- self._bug_reporter = bug_reporter
-
- def report(self, result):
- bug_id, bug_count = self._bug_reporter.report(
- self._get_test_bug(result),
- self._get_bug_template(result))
-
- # We use keyvals to communicate bugs filed with run_suite.
- if bug_id is not None:
- bug_keyvals = tools.create_bug_keyvals(
- result.id, result.test_name,
- (bug_id, bug_count))
- try:
- utils.write_keyval(self._suite._results_dir,
- bug_keyvals)
- except ValueError:
- logging.error('Unable to log bug keyval for:%s',
- result.test_name)
-
-
-class _EmailResultReporter(_ResultReporter):
- """
- Report test results as email.
-
- @param suite: _BaseSuite instance
- """
-
- def __init__(self, suite):
- self._suite = suite
-
def report(self, result):
# reporting modules have dependency on external
# packages, e.g., httplib2 Such dependency can cause
@@ -1866,5 +1822,5 @@
from autotest_lib.server.cros.dynamic_suite import reporting
reporting.send_email(
- self._suite._get_test_bug(result),
- self._suite._get_bug_template(result))
+ self._get_test_bug(result),
+ self._get_bug_template(result))