# 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_perbuild"
PURPOSE = "A Chameleon audio test suite."
CRITERIA = "All tests with SUITE=chameleon_audio_perbuild 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', 'yuli@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)