# Copyright 2019 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

AUTHOR = "vsuley"
NAME = "cros-av-analysis"
PURPOSE = "To run AV Analysis tests for ChromeOS lab DUTs."

TIME = "LONG"
TEST_CATEGORY = "General"
TEST_CLASS = "suite"
TEST_TYPE = "Server"

DOC = """
Run tests that need a fairly specialized setup to play, capture video and upload
to cloud for further analysis. These tests run for a long time and their
resulting metrics are generated asynchronously after processing whatever uploads
are ahead in the queue.

@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 check_hosts: require appropriate live hosts to exist in the lab.
@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['max_runtime_mins'] = 60
args_dict['job'] = job
args_dict['add_experimental'] = True

dynamic_suite.reimage_and_run(**args_dict)
