1*9c5db199SXin Li# Copyright 2018 The Chromium OS Authors. All rights reserved. 2*9c5db199SXin Li# Use of this source code is governed by a BSD-style license that can be 3*9c5db199SXin Li# found in the LICENSE file. 4*9c5db199SXin Li 5*9c5db199SXin LiAUTHOR = "[email protected]" 6*9c5db199SXin LiNAME = "cts" 7*9c5db199SXin LiPURPOSE = "Special suite for final CTS qualification of ARC++ on stable." 8*9c5db199SXin LiCRITERIA = "All tests with SUITE=cts must pass." 9*9c5db199SXin Li 10*9c5db199SXin LiTIME = "LONG" 11*9c5db199SXin LiTEST_CATEGORY = "General" 12*9c5db199SXin LiTEST_CLASS = "suite" 13*9c5db199SXin LiTEST_TYPE = "Server" 14*9c5db199SXin Li 15*9c5db199SXin LiDOC = """ 16*9c5db199SXin LiChromeOS ARC++ tests. 17*9c5db199SXin Li""" 18*9c5db199SXin Li 19*9c5db199SXin Liimport common 20*9c5db199SXin Lifrom autotest_lib.server.cros.dynamic_suite import dynamic_suite 21*9c5db199SXin Li 22*9c5db199SXin Li 23*9c5db199SXin Lidef predicate(test): 24*9c5db199SXin Li if not hasattr(test, 'suite') or not hasattr(test, 'name'): 25*9c5db199SXin Li return False 26*9c5db199SXin Li if not NAME in test.suite.split(','): 27*9c5db199SXin Li return False 28*9c5db199SXin Li # Strip off the cheets_CTS. from the test name before comparing to args 29*9c5db199SXin Li name = test.name[test.name.find('.') + 1:] 30*9c5db199SXin Li # Typical examples: 31*9c5db199SXin Li # name = 'arm.CtsDeqpTestCases.64' 32*9c5db199SXin Li # or 33*9c5db199SXin Li # name = 'x86.CtsDeqpTestCases.32' 34*9c5db199SXin Li # and 35*9c5db199SXin Li # args_dict['tests'] = ['arm.CtsDeqpTestCases', 'x86.CtsDeqpTestCases'] 36*9c5db199SXin Li # So, we want to includes test with names being subpart of any arg. 37*9c5db199SXin Li if 'tests' in args_dict and all(arg not in name for arg in args_dict['tests']): 38*9c5db199SXin Li return False 39*9c5db199SXin Li return True 40*9c5db199SXin Li 41*9c5db199SXin Liargs_dict['name'] = NAME 42*9c5db199SXin Liargs_dict['job'] = job 43*9c5db199SXin Liargs_dict['file_bugs'] = False 44*9c5db199SXin Liargs_dict['max_runtime_mins'] = 10080 45*9c5db199SXin Liargs_dict['timeout_mins'] = 10080 46*9c5db199SXin Liargs_dict['add_experimental'] = True 47*9c5db199SXin Liargs_dict['predicate'] = predicate 48*9c5db199SXin Lidynamic_suite.reimage_and_run(**args_dict) 49*9c5db199SXin Li 50