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

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

DOC = """
Browsertests is a suite that is responsible for testing Chrome increments.
Any test that checks proper operation of Chrome on Chrome OS should be added
to this suite.

@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 dynamic_suite

dynamic_suite.reimage_and_run(
    build=build, board=board, name='browsertests', job=job, pool=pool,
    check_hosts=check_hosts, add_experimental=True,
    skip_reimage=dynamic_suite.skip_reimage(globals()))
