# Copyright 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 = 'chromeos-lab-infrastructure'
NAME = 'sanity'
PURPOSE = 'Sanity check run in buildbot to ensure the build will not break duts'
CRITERIA = 'None.'

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

DOC = """
This suite is intended to be run by buildbot as a sanity check of the build.
It currently only contains a dummy_Pass test. It works by relying
on the safety checks built into the provisioning code to identify bad builds.

This suite is intended to block other bvt suites, and as such is highly
restricted because of the potential performance costs.

"""

import common
from autotest_lib.server.cros import provision
from autotest_lib.server.cros.dynamic_suite import dynamic_suite

dynamic_suite.reimage_and_run(
    build=build, board=board, name=NAME, job=job, pool=pool,
    check_hosts=check_hosts, add_experimental=True, num=num,
    file_bugs=file_bugs, priority=priority, timeout_mins=timeout_mins,
    devserver_url=devserver_url, version_prefix=provision.CROS_VERSION_PREFIX,
    wait_for_results=wait_for_results, job_retry=job_retry,
    max_retries=max_retries)
