# Copyright (c) 2013 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 = "au"
PURPOSE = "Automated testing of autoupdate done by continuous builders."
CRITERIA = "All tests with SUITE=au must pass."

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

DOC = """
This is the equivalent of the build verification suite but for autoupdate in the
sense that this suite contains the Autoupdate Verification tests that must pass
with every build.

Note: the control files used by this suite are auto-generated by Chromium OS
builds which use the template control file from
server/site_tests/autoupdate_EndToEndTest/control.

@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.
"""

import common
from autotest_lib.client.common_lib.cros import dev_server
from autotest_lib.server.cros import provision
from autotest_lib.server.cros.dynamic_suite import dynamic_suite

# Needs to be done to generate the control files for the suite.
ds = dev_server.ImageServer(devserver_url)
ds.stage_artifacts(build, artifacts=['au_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': ['Cr-Internals-Installer'],
    'owner': '',
    'status': None,
    'summary': None,
    'title': None,
    'ccs': ['beeps@chromium.org']
}

# TODO(sosa): Really should skip_reimage but suite logic does not currently
# work without reimaging.
dynamic_suite.reimage_and_run(
    build=build, board=board, name='au', job=job, pool=pool,
    check_hosts=check_hosts, add_experimental=True, num=num,
    file_bugs=file_bugs, priority=priority, timeout=timeout,
    max_runtime_mins=60, bug_template=_BUG_TEMPLATE,
    devserver_url=devserver_url,
    version_prefix=provision.CROS_VERSION_PREFIX)
