# 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 = 'ChromiumOS team'
NAME = 'tast.dmserver-enrollment-live'
METADATA = {
        "contacts": ["dmserver-enrollment-test-results@google.com"],
        "bug_component": "b:1111632", # ChromeOS > Software > Commercial (Enterprise) > Remote Management > Enrollment
        "criteria": "Run live Tast tests for DMServer"
}
TIME = 'LONG'
TEST_TYPE = 'Server'
ATTRIBUTES = 'suite:dmserver-enrollment-live'
MAX_RESULT_SIZE_KB = 50 * 1024
PY_VERSION = 3

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

DOC = '''
Run DMServer enrollment live Tast tests.

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 runs group of DMServer enrollment live tests.
'''

def run(machine):
    job.run_test('tast',
                 host=hosts.create_host(machine), max_run_sec=10800,
                 test_exprs=['("group:dmserver-enrollment-live")'], command_args=args)

parallel_simple(run, machines)