blob: 7ef84f98cbd9775d523a3b6f6985cde75c938749 [file] [log] [blame]
# 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)