# Copyright 2015 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 = "chromeos-chameleon"
NAME = "chameleon_audio"
PURPOSE = "A Chameleon test suite for audio."
CRITERIA = "All tests with SUITE=chameleon_audio must pass."

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

DOC = """
Audio tests which require chameleon and audio boards connected .
The Chameleon board can emulate a monitor such that the test can control
its behaviors in order to test the Chrome OS audio stack.
Audio board can record and play DUT’s audio signal from 3.5mm jack,
SPKs/MICs and BT(A2DP). Details on go/audioboard.
Together with DUT and external peripherals they are bundled in
audio-box environment for end-to-end testing. Details on
go/audiobox, go/ab-care-and-feed, and go/chameleon-audio-conf

@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 import provision
from autotest_lib.server.cros.dynamic_suite import dynamic_suite

# Values specified in this bug template will override default values when
# filing bugs on tests that are a part of this suite. If left unspecified
# the bug filer will fallback to it's defaults.
_BUG_TEMPLATE = {
    'labels': ['OS-Chrome', 'Cr-OS-Kernel-Audio', 'Chameleon'],
    'owner': 'cychiang@chromium.org',
    'status': None,
    'summary': None,
    'title': None,
    'cc': ['tyanh@chromium.org', 'kalin@chromium.org', 'yuli@chromium.org',
           'conradlo@chromium.org', 'chromeos-audio-bugs@google.com']
}

dynamic_suite.reimage_and_run(
    build=build, board=board, name=NAME, job=job, pool=pool,
    check_hosts=check_hosts, add_experimental=True, num=num,
    file_bugs=file_bugs, priority=priority,
    suite_dependencies=suite_dependencies, timeout_mins=timeout_mins,
    max_runtime_mins=240, bug_template=_BUG_TEMPLATE,
    devserver_url=devserver_url,
    version_prefix=provision.CROS_VERSION_PREFIX,
    wait_for_results=wait_for_results, job_retry=job_retry,
    max_retries=max_retries)
