# 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.

# TEST IS DISABLED UNTIL MIGRATED TO PYTHON 3.
# For instructions on how to: go/tauto-py3-migration
# To re-enable migrate to Python 3.
# If the test is not migrated by 1/14/22 it will be deleted.

AUTHOR = 'wiley, pstew, quiche'
TIME = 'SHORT'
NAME = 'network_WiFi_SSIDSwitchBack'
TEST_TYPE = 'Server'
ATTRIBUTES = ''
DEPENDENCIES = 'wificell'

DOC = """
The SSIDSwitchBack test verifies that the connection manager is able
to rejoin a previously connected AP when it loses connectivity to its
current AP.
"""

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


parallel_simple(run, machines)
