aboutsummaryrefslogtreecommitdiff
path: root/venv
diff options
context:
space:
mode:
authorAlex Zamorzaev <zamorzaev@chromium.org>2019-04-05 12:07:59 -0700
committerchrome-bot <chrome-bot@chromium.org>2019-04-13 01:32:17 -0700
commitf0573b54ce9e9076dbbfeedfd94c5ac777d7db91 (patch)
tree6528b05ff4aa19019cd340f1ec13eab5973a4351 /venv
parent49457e143188969274762192114691a0a3af1411 (diff)
downloadautotest-f0573b54ce9e9076dbbfeedfd94c5ac777d7db91.tar.gz
autotest: Add test counts to test_push
BUG=chromium:940564 TEST=unit tests, also will be tested in staging after submit Change-Id: If53c858a3c3ca8a405de8cbf8a6156a34aba02e9 Reviewed-on: https://chromium-review.googlesource.com/1554985 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Commit-Ready: Alex Zamorzaev <zamorzaev@chromium.org> Tested-by: Alex Zamorzaev <zamorzaev@chromium.org> Reviewed-by: Prathmesh Prabhu <pprabhu@chromium.org>
Diffstat (limited to 'venv')
-rw-r--r--venv/skylab_staging/test_push.py22
-rw-r--r--venv/skylab_staging/test_push_unittest.py13
2 files changed, 24 insertions, 11 deletions
diff --git a/venv/skylab_staging/test_push.py b/venv/skylab_staging/test_push.py
index fcb7d42dab..9df2dadc6d 100644
--- a/venv/skylab_staging/test_push.py
+++ b/venv/skylab_staging/test_push.py
@@ -20,6 +20,7 @@ from __future__ import division
from __future__ import print_function
import argparse
+import collections
import logging
import sys
import time
@@ -34,14 +35,15 @@ _POLLING_INTERVAL_S = 10
_WAIT_FOR_DUTS_TIMEOUT_S = 20 * 60
# Dictionary of test results expected in suite:skylab_staging_test.
-_EXPECTED_TEST_RESULTS = {'login_LoginSuccess.*': 'GOOD',
- 'provision_AutoUpdate.double': 'GOOD',
- 'dummy_Pass.*': 'GOOD',
- 'dummy_Fail.Fail$': 'FAIL',
- 'dummy_Fail.Error$': 'ERROR',
- 'dummy_Fail.Warn$': 'WARN',
- 'dummy_Fail.NAError$': 'TEST_NA',
- 'dummy_Fail.Crash$': 'GOOD'}
+_EXPECTED_TEST_RESULTS = {'login_LoginSuccess.*': ['GOOD'],
+ 'provision_AutoUpdate.double': ['GOOD'],
+ 'dummy_Pass.*': ['GOOD'],
+ 'dummy_Fail.Fail$': ['FAIL'],
+ 'dummy_Fail.Error$': ['ERROR'],
+ 'dummy_Fail.Warn$': ['WARN'],
+ 'dummy_Fail.NAError$': ['TEST_NA'],
+ 'dummy_Fail.Crash$': ['GOOD'],
+ }
# Some test could be missing from the test results for various reasons. Add
# such test in this list and explain the reason.
@@ -235,7 +237,9 @@ def _view_is_preserved(view):
def _verify_and_summarize(available_views, expected_results):
"""Verify and generate summaries for test_push results."""
test_push_common = autotest.load('site_utils.test_push_common')
- views = {v['test_name']:v['status'] for v in available_views}
+ views = collections.defaultdict(list)
+ for view in available_views:
+ views[view['test_name']].append(view['status'])
return test_push_common.summarize_push(views, expected_results,
_IGNORED_TESTS)
diff --git a/venv/skylab_staging/test_push_unittest.py b/venv/skylab_staging/test_push_unittest.py
index a04281f529..8419ad6255 100644
--- a/venv/skylab_staging/test_push_unittest.py
+++ b/venv/skylab_staging/test_push_unittest.py
@@ -16,12 +16,10 @@ EXAMPLE_TEST_RESULTS = [
('dummy_Pass.actionable', 'GOOD'),
('dummy_Pass', 'GOOD'),
('dummy_Fail.Error', 'ERROR'),
- ('dummy_Fail.Fail', 'FAIL'),
('dummy_Fail.Warn', 'WARN'),
('dummy_Fail.NAError', 'TEST_NA'),
('dummy_Fail.Crash', 'GOOD'),
('login_LoginSuccess', 'GOOD'),
- ('dummy_Fail.Error', 'ERROR'),
('provision_AutoUpdate.double', 'GOOD'),
]
@@ -62,3 +60,14 @@ def test_missing_test():
test_push._EXPECTED_TEST_RESULTS)
assert len(summary) != 0
assert 'login_LoginSuccess' in summary[1]
+
+
+def test_incorrect_test_count():
+ """Test a test push with a failed test."""
+ available_views = _construct_test_views_list()
+ available_views.append({'test_name': 'dummy_Fail.Fail', 'status': 'FAIL'})
+
+ summary = test_push._verify_and_summarize(available_views,
+ test_push._EXPECTED_TEST_RESULTS)
+ assert len(summary) != 0
+ assert 'dummy_Fail.Fail' in summary[1]