# 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-inline"
PURPOSE = "Test critical functionality."

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 before any other tests may run.  Test failures in this
suite trigger automatic actions:
  * Failures in the Commit Queue or Pre-Flight Queue fail the build,
    and block running tests from the bvt-cq suite.
  * Failures in the canary turn the tree red, block all other tests
    for the build, and generally mean that QA cannot further
    evaluate the build's fitness for release.

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 one or more of the following
    impacts is possible:
     * The failure may impact the stability of the test lab.
     * The failure may prevent discovery of other bugs.
     * The failure may block ordinary development tasks.
 3. A test failure must reliably indicate a bug in the product, and
    not a bug in the test.
 4. The test must be hermetic.  That is, the test should have no
    dependencies on external network resources.

@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,
}

args_dict['max_runtime_mins'] = 30
args_dict['name'] = 'bvt-inline'
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)
