1# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5AUTHOR = "ChromeOS Team"
6NAME = "cellular_ModemControl.pseudomodem"
7PURPOSE = "Verify commands sent to a modem manager are reflected in shill."
8CRITERIA = """
9This test will fail if modem manager state differs from shill state.
10"""
11TIME = "SHORT"
12TEST_CATEGORY = "Functional"
13TEST_CLASS = "network"
14TEST_TYPE = "client"
15
16DOC = """
17  Tests that commands sent to ModemManager1 are reflected in shill.
18
19  Issues many connect, disconnect, enable, and disable commands to
20  ensure that the modem state is always properly reflected in shill --
21  even if the commands are sent to the modem manager instead of shill.
22  Uses a pseudo modem to simulate modem manager so that this test can
23  be run on a virtual machine.
24"""
25
26from autotest_lib.client.cros.cellular import test_environment
27
28# 3GPP
29test_env = test_environment.CellularPseudoMMTestEnvironment(
30        pseudomm_args=({'family': '3GPP'},))
31job.run_test('cellular_ModemControl', test_env=test_env, autoconnect=False,
32             tag='no-autoconnect-pseudomodem.3GPP')
33job.run_test('cellular_ModemControl', test_env=test_env, autoconnect=True,
34             tag='autoconnect-pseudomodem.3GPP')
35
36# CDMA
37test_env = test_environment.CellularPseudoMMTestEnvironment(
38        pseudomm_args=({'family': 'CDMA'},))
39job.run_test('cellular_ModemControl', test_env=test_env, autoconnect=False,
40             tag='no-autoconnect-pseudomodem.CDMA')
41job.run_test('cellular_ModemControl', test_env=test_env, autoconnect=True,
42             tag='autoconnect-pseudomodem.CDMA')
43