# Copyright 2017 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 = 'krisr, bmahadev, gmoturu'
NAME = 'android_ACTS.WiFiEntRoaming_teacup'
TIME = 'MEDIUM'
TEST_TYPE = 'Server'
ATTRIBUTES = 'suite:android_wifi_ent_roaming'

DOC = """
This test runs Enterprise roaming tests against a WiFi test bed.

"""

def run(machine):
    job.run_test('android_ACTS',
                 testbed=hosts.create_testbed(machine),
                 config_file='wifi_ent_roaming_teacup.config',
                 testtracker_owner='android-comms-tvc@google.com',
                 valid_job_urls_only=True,
                 testtracker_project_id=733,
                 test_file='wifi_ent_roaming',
                 acts_timeout=18000)

parallel_simple(run, machines)
