# Copyright 2024 The ChromiumOS Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

from autotest_lib.client.common_lib import utils

# TODO: Convert this Tast first class (TFC) after Satlab support TFC.

AUTHOR = 'Ambalavanan M M <ambalavanan.m.m@intel.com>'
NAME = 'tast.intel-nda'
METADATA = {
    'contacts': ['intel.chrome.automation.team@intel.com', 'ambalavanan.m.m@intel.com'],
    'bug_component': 'b:157291', # ChromeOS > External > Intel
    'criteria': 'Tauto wrapper for specified tast tests',
}
TIME = 'MEDIUM'
TEST_TYPE = 'Server'
ATTRIBUTES = 'suite:intel-nda'
MAX_RESULT_SIZE_KB = 256 * 1024
PY_VERSION = 3

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

DOC = '''
Run the Intel No Devices Attached(NDA) 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 test runs Intel NDA Tast tests that are required to pass
against a remote DUT. It fails if any individual Tast tests fail.

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:intel-nda")'],
                 ignore_test_failures=False, max_run_sec=9000,
                 clear_tpm=False,
                 command_args=args)

parallel_simple(run, machines)
