# Copyright (c) 2012 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 basic, required functionality."
CRITERIA = "All tests with SUITE=bvt_cq must pass."

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

DOC = """
This is the Build Verification Test suite for commit queue. It should consist of
SHORT tests that validate critical functionality. Critical functionality
includes but is not limited to tests that cover the ability to acquire
connectivity, perform-crash reporting, get updates, and allow a user to log in.
A test failure in this suite means that the build is dead in the water and will
not be passed on to QA. Tests that check critical pathways but are long running
need to be pared down and added to this suite on a case by case basis. The
longer running version can continue to run in other suites such as the
regression suite. If you are unsure if your test belongs in this suite email:
chromeos-lab-infrastructure@google.com.

This suite sets num to 4 in the reimage_and_run call to make sure we run
across 4 different machines. This overrides the CROS.sharding_factor option in
the global_config.


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

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