# 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_nightly"
PURPOSE = "A Chameleon audio test suite."
CRITERIA = "All tests with SUITE=chameleon_audio_nightly must pass."

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

DOC = """
Audio tests which require chameleon and audio boards connected.
The Audio and Chameleon boards can emulate audio jack audio activity
in order to test the Chrome OS audio stack.

Together with DUT and external peripherals they are bundled in
audio-box environment for end-to-end testing. Details on go/audioboard
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': ['kalin@chromium.org', 'conradlo@chromium.org',
           'chromeos-audio-bugs@google.com']
}

args_dict['name'] = NAME
args_dict['suite_dependencies'] = 'chameleon'
args_dict['job'] = job
args_dict['add_experimental'] = True
args_dict['max_runtime_mins'] = 240
args_dict['version_prefix'] = provision.CROS_VERSION_PREFIX
args_dict['bug_template'] = _BUG_TEMPLATE

dynamic_suite.reimage_and_run(**args_dict)
