# 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"
PURPOSE = "Test basic, required functionality."
CRITERIA = "All tests with SUITE=bvt must pass."

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

DOC = """
This is the Build Verification Test suite. 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'],
    'owner': '',
    'status': None,
    'summary': None,
    'title': None,
    'ccs': ['beeps@chromium.org', 'chromeos-lab-errors@google.com']
}

dynamic_suite.reimage_and_run(
    build=build, board=board, name='bvt', 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)
