Home | History | Annotate | Download | only in network_3GModemControl
      1 # Copyright (c) 2013 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 
      5 AUTHOR = "ChromeOS Team"
      6 NAME = "network_3GModemControl.e362"
      7 PURPOSE = "Verify commands sent to a modem manager are reflected in flimflam."
      8 CRITERIA = """
      9 This test will fail if modem manager state differs from flimflam state.
     10 """
     11 ATTRIBUTES = "suite:network3g"
     12 SUITE = "network3g"
     13 TIME = "SHORT"
     14 TEST_CATEGORY = "Functional"
     15 TEST_CLASS = "network"
     16 TEST_TYPE = "client"
     17 DEPENDENCIES = "modem:e362, modem_repair"
     18 
     19 # The E362 modems may fail while connecting and disconnecting.  These
     20 # failures go away if the test is retried.  See crbug.com/224026,
     21 # crbug.com/224110, and crbug.com/224329.
     22 # TODO(thieule): Change this from generic retry to specific failure retry.
     23 # crbug.com/224369.
     24 RETRIES = 2
     25 
     26 DOC = """
     27   Tests that commands sent to ModemManager or cromo are reflected in flimflam.
     28 
     29   Issues many connect, disconnect, enable, and disable commands to ensure
     30   that the modem state is always properly reflected in flimflam -- even
     31   if the commands are sent to the modem manager instead of flimflam.
     32 """
     33 
     34 from autotest_lib.client.cros.cellular import test_environment
     35 
     36 # For E362 modems, we need to prevent the modem from disconnecting too quickly
     37 # or else the out-of-credits logic will kick in and attempt to reconnect (see
     38 # shill/cellular_service.cc).  This is accomplished by setting |slow_connect|
     39 # to True.
     40 test_env = test_environment.CellularOTATestEnvironment()
     41 job.run_test('network_3GModemControl', test_env=test_env, autoconnect=False,
     42              slow_connect=True, tag='no-autoconnect-e362')
     43 job.run_test('network_3GModemControl', test_env=test_env, autoconnect=True,
     44              slow_connect=True, tag='autoconnect-e362')
     45