| # Copyright 2018 The Chromium OS Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| AUTHOR = "jaydeepmehta@chromium.org" |
| NAME = "cts-hardware" |
| PURPOSE = "Special hardware only test-suite for ARC++ CTS qualification." |
| CRITERIA = "All tests with SUITE=cts-hardware must pass." |
| |
| TIME = "LONG" |
| TEST_CATEGORY = "General" |
| TEST_CLASS = "suite" |
| TEST_TYPE = "Server" |
| |
| DOC = """ |
| ChromeOS ARC++ tests. |
| """ |
| |
| import common |
| from autotest_lib.server.cros.dynamic_suite import dynamic_suite |
| |
| |
| def predicate(test): |
| if not hasattr(test, 'suite') or not hasattr(test, 'name'): |
| return False |
| if not NAME in test.suite.split(','): |
| return False |
| # Moblab specific workflow: |
| # Moblab prepares retry test package list using test failures in TF stdout. |
| # `args_dics['tests']` holds list of items in format abi.CtsPackageName. |
| # ie. ['arm,CtsAppTestCases', 'x86.CtsCameraTestCases', ...] |
| # `test.name` holds the actual autotest test name. |
| # ie. cheets_CTS_P.x86.CtsMediaTestCases.other |
| name = test.name.split('.') |
| if 'tests' in args_dict and name[1]+'.'+name[2] not in args_dict['tests']: |
| return False |
| return True |
| |
| args_dict['name'] = NAME |
| args_dict['job'] = job |
| args_dict['file_bugs'] = False |
| args_dict['max_runtime_mins'] = 10080 |
| args_dict['timeout_mins'] = 10080 |
| args_dict['add_experimental'] = True |
| args_dict['predicate'] = predicate |
| dynamic_suite.reimage_and_run(**args_dict) |
| |