# 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 = "network3g"
TIME = "SHORT"
TEST_CATEGORY = "Functional"
TEST_CLASS = "suite"
TEST_TYPE = "server"

DOC = """
Run automated 3g tests to ensure that 3g has not regressed.
@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 = {
    'components': ['OS>Systems>Mobile'],
    'owner': '',
    'status': None,
    'summary': None,
    'title': None,
    'cc': ['benchan@chromium.org', 'krisr@chromium.org',
           'pprabhu@chromium.org', 'rpius@chromium.org',
           'thieule@chromium.org']
}

# TODO(benchan): Re-enable automated bug filing for network3g_pseudomodem
# suite once de-duplication logic works (crbug.com/241510).
args_dict['suite_dependencies'] = 'modem_repair'
args_dict['max_runtime_mins'] = 20
args_dict['job'] = job
args_dict['add_experimental'] = True
args_dict['name'] = 'network3g'
args_dict['version_prefix'] = provision.CROS_VERSION_PREFIX
args_dict['bug_template'] = _BUG_TEMPLATE

dynamic_suite.reimage_and_run(**args_dict)
