# Copyright 2017 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_ModemControl.verizon"
PURPOSE = "Verify commands sent to a modem manager are reflected in flimflam."
CRITERIA = """
This test will fail if modem manager state differs from flimflam state.
"""
ATTRIBUTES = "suite:cellular_ota_flaky"
TIME = "SHORT"
TEST_CATEGORY = "Functional"
TEST_CLASS = "network"
TEST_TYPE = "client"
DEPENDENCIES = "carrier:verizon"

DOC = """
  Tests that commands sent to ModemManager are reflected in flimflam.

  Issues many connect, disconnect, enable, and disable commands to ensure
  that the modem state is always properly reflected in flimflam -- even
  if the commands are sent to the modem manager instead of flimflam.
"""

from autotest_lib.client.cros.cellular import test_environment

test_env = test_environment.CellularOTATestEnvironment()
job.run_test('cellular_ModemControl', test_env=test_env, autoconnect=False,
             tag='no-autoconnect')
job.run_test('cellular_ModemControl', test_env=test_env, autoconnect=True,
             tag='autoconnect')
