# Copyright 2022 The ChromiumOS Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
AUTHOR = 'ChromeOS Graphics Team (chromeos-gfx@google.com)'
NAME = 'tast.graphics-satlab-vc-borealis-shard-1'
TIME = 'MEDIUM'
TEST_TYPE = 'Server'
ATTRIBUTES = 'suite:graphics_satlab_vc'

METADATA = {
    "contacts": [
        "chromeos-gfx@google.com"
    ],
    "bug_component": "b:885255",
    "criteria": "Test suite should run regularly"
}

# tast.py uses binaries installed from autotest_server_package.tar.bz2.
REQUIRE_SSP = True

DOC = '''
This suite is used to run borealis_perbuild tests against graphics vc satlab.
'''

def run(machine):
    job.run_test('tast',
                 host=hosts.create_host(machine),
                 test_exprs=['("group:borealis" && !informational)'],
                 ignore_test_failures=True,
                 max_run_sec=21600,  # 6 hours.
                 totalshards=4,
                 shardindex=1,
                 command_args=args)
parallel_simple(run, machines)
