Home | History | Annotate | Download | only in network_3GDisableGobiWhileConnecting
      1 # Copyright (c) 2011 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_3GDisableGobiWhileConnecting"
      7 PURPOSE = "Check that the 3G modem can handle a disconnect while connecting."
      8 CRITERIA = """
      9 This test will fail if a disconnect request while the modem is
     10 connecting is not promptly executed.  (Includes Gobi-specific
     11 tests: delaying asynchronous connect and QMI failure.)
     12 """
     13 TIME = "SHORT"
     14 TEST_CATEGORY = "Functional"
     15 TEST_CLASS = "network"
     16 TEST_TYPE = "client"
     17 
     18 DOC = """
     19 Check that the 3G modem can handle a disconnect while connecting.
     20 """
     21 
     22 from autotest_lib.client.cros.cellular import test_environment
     23 
     24 ITERATIONS_PER_TEST=1
     25 
     26 test_env = test_environment.CellularOTATestEnvironment()
     27 job.run_test('network_3GDisableWhileConnecting',
     28              test_env=test_env,
     29              timeout_s=20,
     30              delay_before_disable_ms=0,
     31              disable_delay_per_iteration_ms=0,
     32              iterations=ITERATIONS_PER_TEST,
     33              tag='instant_disable')
     34 
     35 # Since dbus-python emits our calls asynchronously, it is sometimes
     36 # (often?) the case that the disable arrives before the connect.
     37 # There's no good way to track what actually gets sent first, so we
     38 # sleep.
     39 test_env = test_environment.CellularOTATestEnvironment()
     40 job.run_test('network_3GDisableWhileConnecting',
     41              test_env=test_env,
     42              timeout_s=20,
     43              delay_before_disable_ms=0,
     44              disable_delay_per_iteration_ms=int(1000.0 / ITERATIONS_PER_TEST),
     45              iterations=ITERATIONS_PER_TEST,
     46              tag='disable_delay_ramp')
     47 
     48 # Gobi-specific tests:
     49 
     50 # Similarly, we can't be sure what the relative timings of the
     51 # completion of the session starter thread and arrival of the disable
     52 # request are.  Try pushing the start thread completion way out.
     53 test_env = test_environment.CellularOTATestEnvironment()
     54 job.run_test('network_3GDisableWhileConnecting',
     55              test_env=test_env,
     56              timeout_s=20,
     57              delay_before_disable_ms=200,
     58              async_connect_sleep_ms=3000,
     59              iterations=ITERATIONS_PER_TEST,
     60              tag='short_delay_disable')
     61 
     62 test_env = test_environment.CellularOTATestEnvironment()
     63 job.run_test('network_3GDisableWhileConnecting',
     64              test_env=test_env,
     65              timeout_s=20,
     66              delay_before_disable_ms=0,
     67              disable_delay_per_iteration_ms=0,
     68              connect_fails_with_error_sending_qmi_request=1,
     69              iterations=1,
     70              tag='qmi_failure')
     71