# 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_Prefer5Ghz'
TIME = 'SHORT'
TEST_TYPE = 'Server'
ATTRIBUTES = ('suite:wifi_matfunc, suite:wifi_matfunc_noservo,'
              'suite:wifi_matfunc_bcm4371')
DEPENDENCIES = 'wificell'

DOC = """
This test case verifies that we prefer 5Ghz APs over 2.4Ghz APs
when everything else is equal.

"""


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


parallel_simple(run, machines)
