# 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 = "ChromeOS Team"
NAME = "cellular_SuspendResume.novatel-e362"
PURPOSE = "Test 3g modem state after suspend/resume"
CRITERIA = """
    Check the 3g state of the device after suspend and resume.  Verify
    that 3g can be enabled under all situations after resuming of device.
    Verify that if autoconnect is turned on that the modem autoconnects
    after resuming.
"""
ATTRIBUTES = "suite:cellular_ota"
TIME = "SHORT"
TEST_CATEGORY = "Functional"
TEST_CLASS = "network"
TEST_TYPE = "client"
DEPENDENCIES = "modem:novatel-e362"

DOC = """
    Verify that 3g can be enabled under all suspend/resume situations.
"""

# Run all scenarios twice, first with autoconnect off, then with it on
job.run_test('cellular_SuspendResume',
             autoconnect=False, tag='autoconnect_off-novatel-e362')
job.run_test('cellular_SuspendResume',
             autoconnect=True, tag='autoconnect_on-novatel-e362')
