<<<<<<< HEAD   (e6337a cheets_GTS: Update the notest module list for GTS8.0r3.)
=======
# 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_GTS_R.8.0_r3.tradefed-run-collect-tests-only-internal'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 0
TEST_TYPE = 'server'
TIME = 'LENGTHY'
MAX_RESULT_SIZE_KB = 512000
DOC = 'Run all of the Android Google Test Suite (GTS) in the ARC++ container.'

def run_TS(machine):
    host_list = [hosts.create_host(machine)]
    job.run_test(
        'cheets_GTS_R',
        hosts=host_list,
        iterations=1,
        max_retry=0,
        tag='8.0_r3.tradefed-run-collect-tests-only-internal',
        test_name='cheets_GTS_R.8.0_r3.tradefed-run-collect-tests-only-internal',
        authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
        run_template=['run', 'commandAndExit', 'collect-tests-only', '--disable-reboot', '--module-arg', 'GtsYouTubeTestCases:skip-media-download:true'],
        retry_template=None,
        target_module=None,
        target_plan=None,
        uri='LATEST',
        use_jdk9=True,
        # This module has a known crash bug (b/181176656). As long as the
        # executed test count matches the known number, assume all tests ran.
        executable_test_count=[3654, 7308],
        timeout=1800)

parallel_simple(run_TS, machines)
>>>>>>> CHANGE (cd6275 cheets_GTS(_R): Ignore a certain error case form collect-tes)
