| # 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@chromium.com' |
| NAME = 'network_WiFi_Netperf.wifi_rxampdu' |
| TIME = 'SHORT' |
| TEST_TYPE = 'Server' |
| SUITE = 'wifi_matfunc' |
| DEPENDENCIES = 'wificell' |
| |
| DOC = """ |
| This test uses netperf to measure receiving TCP throughput of |
| a DUT on an open 802.11n network over 5 GHz band (20MHz channel only). |
| It asserts that we meet a minimum throughput level selected to guarantee |
| that we must be using some frame aggregation techniques. |
| |
| """ |
| |
| |
| from autotest_lib.server.cros.network import hostap_config |
| from autotest_lib.server.cros.network import netperf_runner |
| |
| |
| def run(machine): |
| host = hosts.create_host(machine) |
| ap_config = hostap_config.HostapConfig( |
| frequency=5240, |
| mode=hostap_config.HostapConfig.MODE_11N_PURE) |
| netperf_config = netperf_runner.NetperfConfig( |
| netperf_runner.NetperfConfig.TEST_TYPE_TCP_STREAM, |
| test_time=60) |
| # TODO(wiley) On a lumpy this number could be more like 45, but on daisy |
| # we only get around 29 Mbps. We could do much better though... |
| MINIMAL_N_THROUGHPUT = 27.0 |
| netperf_assertions = netperf_runner.NetperfAssertion( |
| throughput_min=MINIMAL_N_THROUGHPUT) |
| additional_params = [(ap_config, netperf_config, netperf_assertions)] |
| job.run_test('network_WiFi_Netperf', |
| tag=NAME.split('.')[1], |
| host=host, |
| raw_cmdline_args=args, |
| additional_params=additional_params) |
| |
| |
| parallel_simple(run, machines) |