Home | History | Annotate | Download | only in test_suites
      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 
      5 AUTHOR = "ihf (a] chromium.org"
      6 NAME = "cts_N"
      7 PURPOSE = "Special suite for final CTS qualification of ARC++ on stable."
      8 CRITERIA = "All tests with SUITE=cts_N must pass."
      9 
     10 TIME = "LONG"
     11 TEST_CATEGORY = "General"
     12 TEST_CLASS = "suite"
     13 TEST_TYPE = "Server"
     14 
     15 DOC = """
     16 ChromeOS 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 
     27 import common
     28 from autotest_lib.server.cros import provision
     29 from autotest_lib.server.cros.dynamic_suite import dynamic_suite
     30 
     31 
     32 def 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 
     49 args_dict['name'] = NAME
     50 args_dict['job'] = job
     51 args_dict['file_bugs'] = False
     52 args_dict['max_runtime_mins'] = 5040  # 5040 min = 3.5 days
     53 args_dict['timeout_mins'] = 5040  # Bump default 1 day to half a week as well.
     54 args_dict['add_experimental'] = True
     55 args_dict['version_prefix'] = provision.CROS_VERSION_PREFIX
     56 args_dict['predicate'] = predicate
     57 dynamic_suite.reimage_and_run(**args_dict)
     58 
     59