blob: 422512ffebfa50a0cdceb350d35592459917b8ab [file] [log] [blame] [edit]
# Copyright (c) 2011 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_GobiDisableWhileConnecting"
PURPOSE = "Check that the 3G modem can handle a disconnect while connecting."
CRITERIA = """
This test will fail if a disconnect request while the modem is
connecting is not promptly executed. (Includes Gobi-specific
tests: delaying asynchronous connect and QMI failure.)
"""
TIME = "SHORT"
TEST_CATEGORY = "Functional"
TEST_CLASS = "network"
TEST_TYPE = "client"
DOC = """
Check that the 3G modem can handle a disconnect while connecting.
"""
from autotest_lib.client.cros.cellular import test_environment
ITERATIONS_PER_TEST=1
test_env = test_environment.CellularOTATestEnvironment()
job.run_test('cellular_DisableWhileConnecting',
test_env=test_env,
timeout_s=20,
delay_before_disable_ms=0,
disable_delay_per_iteration_ms=0,
iterations=ITERATIONS_PER_TEST,
tag='instant_disable')
# Since dbus-python emits our calls asynchronously, it is sometimes
# (often?) the case that the disable arrives before the connect.
# There's no good way to track what actually gets sent first, so we
# sleep.
test_env = test_environment.CellularOTATestEnvironment()
job.run_test('cellular_DisableWhileConnecting',
test_env=test_env,
timeout_s=20,
delay_before_disable_ms=0,
disable_delay_per_iteration_ms=int(1000.0 / ITERATIONS_PER_TEST),
iterations=ITERATIONS_PER_TEST,
tag='disable_delay_ramp')
# Gobi-specific tests:
# Similarly, we can't be sure what the relative timings of the
# completion of the session starter thread and arrival of the disable
# request are. Try pushing the start thread completion way out.
test_env = test_environment.CellularOTATestEnvironment()
job.run_test('cellular_DisableWhileConnecting',
test_env=test_env,
timeout_s=20,
delay_before_disable_ms=200,
async_connect_sleep_ms=3000,
iterations=ITERATIONS_PER_TEST,
tag='short_delay_disable')
test_env = test_environment.CellularOTATestEnvironment()
job.run_test('cellular_DisableWhileConnecting',
test_env=test_env,
timeout_s=20,
delay_before_disable_ms=0,
disable_delay_per_iteration_ms=0,
connect_fails_with_error_sending_qmi_request=1,
iterations=1,
tag='qmi_failure')