# Copyright (c) 2014 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 = 'zqiu, wiley, pstew, quiche'
NAME = 'network_WiFi_ConnectionIdentifier'
TIME = 'SHORT'
TEST_TYPE = 'Server'
ATTRIBUTES = "suite:wifi_matfunc, suite:wifi_matfunc_bcm4356, suite:wifi_matfunc_intel7265, suite:wifi_matfunc_marvell8897"
SUITE = ('wifi_matfunc, wifi_matfunc_bcm4356, wifi_matfunc_marvell8897,'
         'wifi_matfunc_intel7265')
DEPENDENCIES = 'wificell'

DOC = """
This test is designed to verify the correctness of connection identifier
generated by shill, in which connection identifier should be the same when
connecting to the same network, and different when connecting to different
network.
"""

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


parallel_simple(run, machines)
