# Copyright 2015 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 = 'bmahadev, krisr, harpreet'
TIME = 'SHORT'
NAME = 'network_WiFi_RoamSuspendEndToEnd'
TEST_TYPE = 'Server'
ATTRIBUTES = 'suite:wifi_endtoend'
DEPENDENCIES = 'wificell'

DOC = """
WiFi_RoamSuspendEndToEnd test configures two APs with the same ssid and runs the
client side network_RoamWifiEndToEnd test which uses these APs to test
WiFi roaming between two Open Networks after a Suspend/Resume.
"""

from autotest_lib.server import utils

args_dict = utils.args_to_dict(args)

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

parallel_simple(run, machines)
