# Copyright (c) 2014 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 = "Chrome OS Team"
NAME = "bvt-cq"
PURPOSE = "Test functionality required by the Commit Queue."
CRITERIA = "All tests with SUITE=bvt-cq must pass."

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

DOC = """
This is the portion of the Build Verification Test suite required to
pass the Chrome OS Commit Queue and Pre-Flight Queue.  Test failures
prevent code from being included in the tree or in canary builds:
  * Chrome OS CLs must pass these tests prior to being accepted into
    the tree.
  * A new Chrome build must pass these tests prior to the build
    being included in a Chrome OS canary build.

Requirements for a test to be in this suite:
 1. The test should be SHORT, and should not require any specialized
    lab resources.
 2. A test failure should indicate that the product is not fit for
    release on any channel.
 3. A test failure must reliably indicate a bug in the product, and
    not a bug in the test.

@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': ['bvt'],
    'owner': '',
    'status': None,
    'summary': None,
    'title': None,
    'ccs': ['chromeos-lab-errors@google.com']
}

args_dict['max_runtime_mins'] = 20
args_dict['name'] = 'bvt-cq'
args_dict['job'] = job
args_dict['add_experimental'] = True
args_dict['version_prefix'] = provision.CROS_VERSION_PREFIX
args_dict['bug_template'] = _BUG_TEMPLATE

dynamic_suite.reimage_and_run(**args_dict)
