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 = "ARC++ Team"
      6 NAME = "gts"
      7 PURPOSE = "GTS tests for ARC++"
      8 CRITERIA = "All tests with SUITE=gts must pass."
      9 
     10 TIME = "SHORT"
     11 TEST_CATEGORY = "General"
     12 TEST_CLASS = "suite"
     13 TEST_TYPE = "Server"
     14 
     15 DOC = """
     16 This suite wraps the current GTS bundle for autotest.
     17 """
     18 
     19 import common
     20 from autotest_lib.server.cros import provision
     21 from autotest_lib.server.cros.dynamic_suite import dynamic_suite
     22 
     23 
     24 def predicate(test):
     25   if not hasattr(test, 'suite') or not hasattr(test, 'name'):
     26     return False
     27   if not test.suite == NAME:
     28     return False
     29   # Strip off the cheets_GTS. from the test name before comparing to args
     30   name = test.name[test.name.find('.') + 1:]
     31   # TODO(crbug.com/758427): suite_args needed to support being run by old Autotest
     32   try:
     33     if suite_args and name not in suite_args:
     34       return False
     35   except NameError:
     36     pass
     37   if 'tests' in args_dict and name not in args_dict['tests']:
     38     return False
     39   return True
     40 
     41 args_dict['name'] = NAME
     42 args_dict['job'] = job
     43 args_dict['add_experimental'] = True
     44 args_dict['version_prefix'] = provision.CROS_VERSION_PREFIX
     45 args_dict['predicate'] = predicate
     46 dynamic_suite.reimage_and_run(**args_dict)
     47 
     48