1# Copyright 2016 The Chromium OS Authors. All rights reserved. 2# Use of this source code is governed by a BSD-style license that can be 3# found in the LICENSE file. 4 5AUTHOR = "ihf@chromium.org" 6NAME = "cts_N" 7PURPOSE = "Special suite for final CTS qualification of ARC++ on stable." 8CRITERIA = "All tests with SUITE=cts_N must pass." 9 10TIME = "LONG" 11TEST_CATEGORY = "General" 12TEST_CLASS = "suite" 13TEST_TYPE = "Server" 14 15DOC = """ 16ChromeOS ARC++ tests. 17 18@param build: The name of the image to test. 19 Ex: x86-mario-release/R17-1412.33.0-a1-b29 20@param board: The board to test on. Ex: x86-mario 21@param pool: The pool of machines to utilize for scheduling. If pool=None 22 board is used. 23@param check_hosts: require appropriate live hosts to exist in the lab. 24@param SKIP_IMAGE: (optional) If present and True, don't re-image devices. 25""" 26 27import common 28from autotest_lib.server.cros import provision 29from autotest_lib.server.cros.dynamic_suite import dynamic_suite 30 31 32def predicate(test): 33 if not hasattr(test, 'suite') or not hasattr(test, 'name'): 34 return False 35 if not test.suite == NAME: 36 return False 37 # Strip off the cheets_CTS_N. from the test name before comparing to args 38 name = test.name[test.name.find('.') + 1:] 39 # TODO(crbug.com/758427): suite_args needed to support being run by old Autotest 40 try: 41 if suite_args and name not in suite_args: 42 return False 43 except NameError: 44 pass 45 if 'tests' in args_dict and name not in args_dict['tests']: 46 return False 47 return True 48 49args_dict['name'] = NAME 50args_dict['job'] = job 51args_dict['file_bugs'] = False 52args_dict['max_runtime_mins'] = 5040 # 5040 min = 3.5 days 53args_dict['timeout_mins'] = 5040 # Bump default 1 day to half a week as well. 54args_dict['add_experimental'] = True 55args_dict['version_prefix'] = provision.CROS_VERSION_PREFIX 56args_dict['predicate'] = predicate 57dynamic_suite.reimage_and_run(**args_dict) 58 59