# Copyright (c) 2010 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_Throughput"
PURPOSE = "Measure speed of emulated cellular network."
CRITERIA = """Bandwidth a reasonable fraction of max for the technology."""
SUITE = "cell_emulator"
TIME = "SHORT"
TEST_CATEGORY = "Functional"
TEST_CLASS = "network"
TEST_TYPE = "client"

DOC = """
  Measures modem throughput.

  NB: This test is not designed to run standalone.  If you run without
  the server test cellular_ThroughputController, you are responsible
  for running the iperf server.
"""

from autotest_lib.client.cros.cellular import labconfig

config = labconfig.Configuration(args)

for technology in config.get_technologies():
    job.run_test('cellular_Throughput',
                 config=config,
                 technology=technology,
                 tag=technology)
