# Copyright (c) 2013 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 = 'wiley, pstew, quiche'
NAME = 'network_WiFi_RateControl'
TIME = 'SHORT'
TEST_TYPE = 'Server'
SUITE = 'wifi_matfunc'
DEPENDENCIES = 'wificell'

DOC = """
This test associates a DUT with several APs serving an open HT40 network.  The
test then conducts a packet capture of some IP traffic, and checks that the DUT
is transmitting at the highest possible 2x2 MCS rate (MCS index 15).  This
check assumes that the test is being conducted under relatively good RF
conditions.

"""


def run(machine):
    host = hosts.create_host(machine)
    job.run_test('network_WiFi_RateControl',
                 host=host, raw_cmdline_args=args)


parallel_simple(run, machines)
