# 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.

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

AUTHOR = "Ambalavanan M M <ambalavanan.m.m@intel.com>"
NAME = "intel-hdmi"
PURPOSE = "Tast wrapper suite for running a set of Intel hdmi Tast tests on Satlab."
TIME = "MEDIUM"
TEST_CATEGORY = "General"
TEST_CLASS = "suite"
TEST_TYPE = "Server"
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',
}

DOC = """
This suite executes a quick set of Intel hdmi test cases.
Supposed to be run by partners (OEMs, ODMs) using Satlab.

@param build: The name of the image to test.
          Ex: x86-mario-release/R17-1412.33.0-a1-b29
@param board: The board to test on. Ex: x86-mario
@param pool: The pool of machines to utilize for scheduling. If pool=None
             board is used.
@param dry_run: simulate test execution without stressing the storage.
@param SKIP_IMAGE: (optional) If present and True, don't re-image devices.
"""

import common

from autotest_lib.server.cros.dynamic_suite import dynamic_suite

args_dict['name'] = NAME
args_dict['job'] = job
args_dict['timeout_mins'] = 40 # entire suite timeout after 40 minutes
args_dict['max_runtime_mins'] = 40 # one test timeout after 40 minutes

dynamic_suite.reimage_and_run(**args_dict)
