# 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 = 'The ChromiumOS Authors'
NAME = 'tast.crosbolt-arc-memory-nightly'
METADATA = {
    "contacts": ["arcvm-software@google.com"],
    "bug_component": "b:167286",
    "criteria": ("Run platform.MemoryPressure.vm and"
                 "platform.MemoryPressure.container"),
}
TIME = 'LENGTHY'
TEST_TYPE = 'Server'
ATTRIBUTES = 'suite:crosbolt_arc_perf_memory_nightly'
MAX_RESULT_SIZE_KB = 1024 * 1024
PY_VERSION = 3

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

DOC = '''
Run the Tast crosbolt performance memory test suite.

Tast is an integration-testing framework analagous to the test-running portion
of Autotest. See https://chromium.googlesource.com/chromiumos/platform/tast/ for
more information.

This test runs Tast-based memory-related crosbolt performance tests against a
remote DUT.

See http://go/tast-failures for information about investigating failures.
'''

def run(machine):
    job.run_test('tast',
                 host=hosts.create_host(machine),
                 test_exprs=['("group:crosbolt" && crosbolt_arc_perf_memory_nightly)'],
                 max_run_sec=10800, ignore_test_failures=True,
                 command_args=args)

parallel_simple(run, machines)
