# 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_BgscanBackoff.wifi_bgscan_backoff'
TIME = 'SHORT'
TEST_TYPE = 'Server'
ATTRIBUTES = ''
DEPENDENCIES = 'wificell'
MAX_RESULT_SIZE_KB = 512000

DOC = """
This test case verifies that bgscan aborts and/or backs off when
there is consistent outgoing traffic.
"""

from autotest_lib.server.cros.network import hostap_config

def run(machine):
    host = hosts.create_host(machine)
    mode = hostap_config.HostapConfig.MODE_11N_MIXED
    config_first_ap = (hostap_config.HostapConfig(channel=1, mode=mode))
    config_second_ap = (hostap_config.HostapConfig(channel=36, mode=mode))
    params = [config_first_ap, config_second_ap]
    job.run_test('network_WiFi_BgscanBackoff',
                 host=host,
                 raw_cmdline_args=args,
                 additional_params=params)

parallel_simple(run, machines)
