# Copyright (c) 2015 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_SafetyDance.huawei-e303"
PURPOSE = "Stress-test all connman 3G operations."
CRITERIA = """
This test will fail if any DBus call times out or flimflam crashes.
"""
ATTRIBUTES = "suite:cellular_ota"
TIME = "SHORT"
TEST_CATEGORY = "Stress"
TEST_CLASS = "network"
TEST_TYPE = "client"
DEPENDENCIES = "modem:huawei-e303"

DOC = """
  Stress-tests all connman 3G operations.

  This test runs a long series of 3G operations in pseudorandom order. All of
  these 3G operations must return a convincing result (EINPROGRESS or no error).
"""

from autotest_lib.client.cros.cellular import test_environment

test_env = test_environment.CellularOTATestEnvironment()
job.run_test('cellular_SafetyDance', test_env=test_env, tag='huawei-e303')
