# Copyright (c) 2018 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 = 'timkovich'
TIME = 'SHORT'
NAME = 'policy_WiFiAutoconnectServer'
TEST_TYPE = 'Server'
ATTRIBUTES = 'suite:ent-wificell'
DEPENDENCIES = 'wificell'

DOC = """
'policy_WiFiAutoconnectServer' test configures an AP and runs the client
side 'policy_WiFiAutoconnect' test which uses the AP to test network
autoconnect policies across all possible policy values: 'True', 'False', and
'None'.

"""

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


parallel_simple(run, machines)
