# 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_BeaconInterval.wifi_bintval'
TIME = 'SHORT'
TEST_TYPE = 'Server'
SUITE = 'wifi_matfunc'
DEPENDENCIES = 'wificell'

DOC = """
This test verifies that the beacon interval set on the AP was successfully
adopted by the DUT.
"""


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


parallel_simple(run, machines)
