# Copyright 2023 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 SW Performance Team'
NAME = 'tast.cuj-12'
METADATA = {
    "contacts": ["cros-sw-perf@google.com"],
    "bug_component": 'b:1045832',  # ChromeOS > Software > Performance > TPS
    'criteria': 'Tauto wrapper for specified tast tests',
}
TIME = 'MEDIUM'
TEST_TYPE = 'Server'
ATTRIBUTES = 'suite:cuj_12'

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

DOC = "Run the CUJ test suite cuj_12. This suite is used to run CUJ tast tests against a remote DUT."

def run(machine):
    job.run_test('tast',
                 host=hosts.create_host(machine),
                 test_exprs=['("group:cuj" && !cuj_experimental && !cuj_weekly && !cuj_loginperf)'],
                 ignore_test_failures=True,
                 max_run_sec=(3*60-15)*60,  # 2h45m
                 totalshards=13,
                 shardindex=12,
                 command_args=args)
parallel_simple(run, machines)
