# 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_RoamSuspendTimeout.11g'
TIME = 'SHORT'
TEST_TYPE = 'Server'
SUITE = 'wifi_flaky'
DEPENDENCIES = 'wificell'

DOC = """
This test attempts to verify that we can reconnect to a router over 802.11g
on channel 11 (2.4 Ghz band) and correctly send IP traffic after
deauthentication while the DUT is suspended.
"""


from autotest_lib.client.common_lib.cros.network import xmlrpc_datatypes
from autotest_lib.server.cros.network import hostap_config


def run(machine):
    g_mode = hostap_config.HostapConfig.MODE_11G
    job.run_test('network_WiFi_RoamSuspendTimeout',
                 tag=NAME.split('.')[1],
                 host=hosts.create_host(machine),
                 raw_cmdline_args=args,
                 additional_params=hostap_config.HostapConfig(channel=11,
                                                              mode=g_mode))


parallel_simple(run, machines)
