# Copyright 2020 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.

# This file has been automatically generated. Do not edit!

AUTHOR = 'ARC++ Team'
NAME = 'cheets_CTS_R.11_r4.arm.all.CtsSystemApiAnnotationTestCases_-_CtsViewInspectorAnnotationProcessorTestCases'
ATTRIBUTES = 'suite:arc-cts-qual'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
TEST_TYPE = 'server'
TIME = 'MEDIUM'
MAX_RESULT_SIZE_KB = 512000
DOC = 'Run module CtsSystemApiAnnotationTestCases, CtsSystemApiAnnotationTestCases[instant], CtsSystemApiAnnotationTestCases[secondary_user], CtsSystemApiSignatureTestCases, CtsSystemApiSignatureTestCases[instant], CtsSystemApiSignatureTestCases[secondary_user], CtsSystemIntentTestCases, CtsSystemIntentTestCases[secondary_user], CtsSystemUiHostTestCases, CtsSystemUiHostTestCases[instant], CtsSystemUiHostTestCases[secondary_user], CtsSystemUiTestCases, CtsSystemUiTestCases[instant], CtsSystemUiTestCases[secondary_user], CtsTaggingHostTestCases, CtsTaggingHostTestCases[instant], CtsTaggingHostTestCases[secondary_user], CtsTelecomTestCases, CtsTelecomTestCases2, CtsTelecomTestCases2[secondary_user], CtsTelecomTestCases3, CtsTelecomTestCases3[secondary_user], CtsTelecomTestCases[secondary_user], CtsTelephony2TestCases, CtsTelephony2TestCases[instant], CtsTelephony2TestCases[secondary_user], CtsTelephony3TestCases, CtsTelephony3TestCases[secondary_user], CtsTelephonyHostCases, CtsTelephonyHostCases[secondary_user], CtsTelephonyProviderHostCases, CtsTelephonyProviderHostCases[secondary_user], CtsTelephonyProviderTestCases, CtsTelephonyProviderTestCases[secondary_user], CtsTelephonySdk28TestCases, CtsTelephonySdk28TestCases[secondary_user], CtsTelephonyTestCases, CtsTelephonyTestCasesPermissionReadPhoneState, CtsTelephonyTestCasesPermissionReadPhoneState[instant], CtsTelephonyTestCasesPermissionReadPhoneState[secondary_user], CtsTestHarnessModeTestCases, CtsTestHarnessModeTestCases[secondary_user], CtsTetheringTest, CtsTetheringTest[secondary_user], CtsTextClassifierTestCases, CtsTextClassifierTestCases[secondary_user], CtsTextTestCases, CtsTextTestCases[instant], CtsTextTestCases[secondary_user], CtsTfliteNnapiDelegateTestCases, CtsTfliteNnapiDelegateTestCases[secondary_user], CtsThemeDeviceTestCases, CtsThemeDeviceTestCases[secondary_user], CtsThemeHostTestCases, CtsThemeHostTestCases[secondary_user], CtsThermalTestCases, CtsThermalTestCases[secondary_user], CtsToastLegacyTestCases, CtsToastLegacyTestCases[secondary_user], CtsToastTestCases, CtsToastTestCases[instant], CtsToastTestCases[secondary_user], CtsTransitionTestCases, CtsTransitionTestCases[secondary_user], CtsTrustedVoiceHostTestCases, CtsTrustedVoiceHostTestCases[secondary_user], CtsTvProviderTestCases, CtsTvProviderTestCases[secondary_user], CtsTvTestCases, CtsTvTestCases[secondary_user], CtsUiAutomationTestCases, CtsUiAutomationTestCases[instant], CtsUiAutomationTestCases[secondary_user], CtsUiRenderingTestCases, CtsUiRenderingTestCases27, CtsUiRenderingTestCases27[instant], CtsUiRenderingTestCases27[secondary_user], CtsUiRenderingTestCases[instant], CtsUiRenderingTestCases[secondary_user], CtsUidIsolationTestCases, CtsUidIsolationTestCases[instant], CtsUidIsolationTestCases[secondary_user], CtsUsageStatsTestCases, CtsUsageStatsTestCases[instant], CtsUsageStatsTestCases[secondary_user], CtsUsbManagerTestCases, CtsUsbManagerTestCases[secondary_user], CtsUsbTests, CtsUsbTests[instant], CtsUsbTests[secondary_user], CtsUserspaceRebootHostSideTestCases, CtsUsesLibraryHostTestCases, CtsUsesLibraryHostTestCases[secondary_user], CtsUtilTestCases, CtsUtilTestCases[instant], CtsUtilTestCases[secondary_user], CtsVideoTestCases, CtsVideoTestCases[secondary_user], CtsViewInspectorAnnotationProcessorTestCases, CtsViewInspectorAnnotationProcessorTestCases[instant], CtsViewInspectorAnnotationProcessorTestCases[secondary_user] of the Android Compatibility Test Suite (CTS) using arm ABI in the ARC++ container.'

def run_TS(machine):
    host_list = [hosts.create_host(machine)]
    job.run_test(
        'cheets_CTS_R',
        hosts=host_list,
        iterations=1,
        max_retry=9,
        tag='11_r4.arm.all.CtsSystemApiAnnotationTestCases_-_CtsViewInspectorAnnotationProcessorTestCases',
        test_name='cheets_CTS_R.11_r4.arm.all.CtsSystemApiAnnotationTestCases_-_CtsViewInspectorAnnotationProcessorTestCases',
        run_template=['run', 'commandAndExit', 'cts', '--include-filter', 'CtsSystemApiAnnotationTestCases', '--include-filter', 'CtsSystemApiAnnotationTestCases[instant]', '--include-filter', 'CtsSystemApiAnnotationTestCases[secondary_user]', '--include-filter', 'CtsSystemApiSignatureTestCases', '--include-filter', 'CtsSystemApiSignatureTestCases[instant]', '--include-filter', 'CtsSystemApiSignatureTestCases[secondary_user]', '--include-filter', 'CtsSystemIntentTestCases', '--include-filter', 'CtsSystemIntentTestCases[secondary_user]', '--include-filter', 'CtsSystemUiHostTestCases', '--include-filter', 'CtsSystemUiHostTestCases[instant]', '--include-filter', 'CtsSystemUiHostTestCases[secondary_user]', '--include-filter', 'CtsSystemUiTestCases', '--include-filter', 'CtsSystemUiTestCases[instant]', '--include-filter', 'CtsSystemUiTestCases[secondary_user]', '--include-filter', 'CtsTaggingHostTestCases', '--include-filter', 'CtsTaggingHostTestCases[instant]', '--include-filter', 'CtsTaggingHostTestCases[secondary_user]', '--include-filter', 'CtsTelecomTestCases', '--include-filter', 'CtsTelecomTestCases2', '--include-filter', 'CtsTelecomTestCases2[secondary_user]', '--include-filter', 'CtsTelecomTestCases3', '--include-filter', 'CtsTelecomTestCases3[secondary_user]', '--include-filter', 'CtsTelecomTestCases[secondary_user]', '--include-filter', 'CtsTelephony2TestCases', '--include-filter', 'CtsTelephony2TestCases[instant]', '--include-filter', 'CtsTelephony2TestCases[secondary_user]', '--include-filter', 'CtsTelephony3TestCases', '--include-filter', 'CtsTelephony3TestCases[secondary_user]', '--include-filter', 'CtsTelephonyHostCases', '--include-filter', 'CtsTelephonyHostCases[secondary_user]', '--include-filter', 'CtsTelephonyProviderHostCases', '--include-filter', 'CtsTelephonyProviderHostCases[secondary_user]', '--include-filter', 'CtsTelephonyProviderTestCases', '--include-filter', 'CtsTelephonyProviderTestCases[secondary_user]', '--include-filter', 'CtsTelephonySdk28TestCases', '--include-filter', 'CtsTelephonySdk28TestCases[secondary_user]', '--include-filter', 'CtsTelephonyTestCases', '--include-filter', 'CtsTelephonyTestCasesPermissionReadPhoneState', '--include-filter', 'CtsTelephonyTestCasesPermissionReadPhoneState[instant]', '--include-filter', 'CtsTelephonyTestCasesPermissionReadPhoneState[secondary_user]', '--include-filter', 'CtsTestHarnessModeTestCases', '--include-filter', 'CtsTestHarnessModeTestCases[secondary_user]', '--include-filter', 'CtsTetheringTest', '--include-filter', 'CtsTetheringTest[secondary_user]', '--include-filter', 'CtsTextClassifierTestCases', '--include-filter', 'CtsTextClassifierTestCases[secondary_user]', '--include-filter', 'CtsTextTestCases', '--include-filter', 'CtsTextTestCases[instant]', '--include-filter', 'CtsTextTestCases[secondary_user]', '--include-filter', 'CtsTfliteNnapiDelegateTestCases', '--include-filter', 'CtsTfliteNnapiDelegateTestCases[secondary_user]', '--include-filter', 'CtsThemeDeviceTestCases', '--include-filter', 'CtsThemeDeviceTestCases[secondary_user]', '--include-filter', 'CtsThemeHostTestCases', '--include-filter', 'CtsThemeHostTestCases[secondary_user]', '--include-filter', 'CtsThermalTestCases', '--include-filter', 'CtsThermalTestCases[secondary_user]', '--include-filter', 'CtsToastLegacyTestCases', '--include-filter', 'CtsToastLegacyTestCases[secondary_user]', '--include-filter', 'CtsToastTestCases', '--include-filter', 'CtsToastTestCases[instant]', '--include-filter', 'CtsToastTestCases[secondary_user]', '--include-filter', 'CtsTransitionTestCases', '--include-filter', 'CtsTransitionTestCases[secondary_user]', '--include-filter', 'CtsTrustedVoiceHostTestCases', '--include-filter', 'CtsTrustedVoiceHostTestCases[secondary_user]', '--include-filter', 'CtsTvProviderTestCases', '--include-filter', 'CtsTvProviderTestCases[secondary_user]', '--include-filter', 'CtsTvTestCases', '--include-filter', 'CtsTvTestCases[secondary_user]', '--include-filter', 'CtsUiAutomationTestCases', '--include-filter', 'CtsUiAutomationTestCases[instant]', '--include-filter', 'CtsUiAutomationTestCases[secondary_user]', '--include-filter', 'CtsUiRenderingTestCases', '--include-filter', 'CtsUiRenderingTestCases27', '--include-filter', 'CtsUiRenderingTestCases27[instant]', '--include-filter', 'CtsUiRenderingTestCases27[secondary_user]', '--include-filter', 'CtsUiRenderingTestCases[instant]', '--include-filter', 'CtsUiRenderingTestCases[secondary_user]', '--include-filter', 'CtsUidIsolationTestCases', '--include-filter', 'CtsUidIsolationTestCases[instant]', '--include-filter', 'CtsUidIsolationTestCases[secondary_user]', '--include-filter', 'CtsUsageStatsTestCases', '--include-filter', 'CtsUsageStatsTestCases[instant]', '--include-filter', 'CtsUsageStatsTestCases[secondary_user]', '--include-filter', 'CtsUsbManagerTestCases', '--include-filter', 'CtsUsbManagerTestCases[secondary_user]', '--include-filter', 'CtsUsbTests', '--include-filter', 'CtsUsbTests[instant]', '--include-filter', 'CtsUsbTests[secondary_user]', '--include-filter', 'CtsUserspaceRebootHostSideTestCases', '--include-filter', 'CtsUsesLibraryHostTestCases', '--include-filter', 'CtsUsesLibraryHostTestCases[secondary_user]', '--include-filter', 'CtsUtilTestCases', '--include-filter', 'CtsUtilTestCases[instant]', '--include-filter', 'CtsUtilTestCases[secondary_user]', '--include-filter', 'CtsVideoTestCases', '--include-filter', 'CtsVideoTestCases[secondary_user]', '--include-filter', 'CtsViewInspectorAnnotationProcessorTestCases', '--include-filter', 'CtsViewInspectorAnnotationProcessorTestCases[instant]', '--include-filter', 'CtsViewInspectorAnnotationProcessorTestCases[secondary_user]', '--logcat-on-failure'],
        retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
        target_module='all.CtsSystemApiAnnotationTestCases_-_CtsViewInspectorAnnotationProcessorTestCases',
        target_plan=None,
        bundle='arm',
        uri='LATEST',
        use_jdk9=True,
        timeout=172800)

parallel_simple(run_TS, machines)
