# 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-loginperf-0'
METADATA = {
    "contacts": ["cros-sw-perf@google.com"],
    "bug_component": 'b:1045832',  # ChromeOS > Software > Performance > TPS
    'criteria': 'Run ui.LoginPerf',
}
TIME = 'MEDIUM'
TEST_TYPE = 'Server'
ATTRIBUTES = 'suite:cuj_loginperf_0'

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

DOC = "Run the test suite cuj_loginperf_0. This suite is used to run ui.LoginPerf against a remote DUT."

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