# Copyright (c) 2011 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"
TIME = "LONG"
TEST_CATEGORY = "Functional"
TEST_CLASS = "suite"
TEST_TYPE = "server"

DOC = """
This test suite runs automated browser tests that should all pass.
"""

num_groups = len(machines)
for group, machine in enumerate(machines):
    gtest_runner.run(('desktopui_BrowserTest',
                     {'group':group, 'total_groups':num_groups}), machine)
