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

AUTHOR = 'wiley, pstew, quiche'
NAME = 'network_WiFi_VerifyRouter'
TIME = 'SHORT'
TEST_TYPE = 'Server'
DEPENDENCIES = 'wificell'
ATTRIBUTES = 'suite:wifi_update_router'

DOC = """
This test is designed to check as quickly as possible that a dual radio
router is working correctly.
"""


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


parallel_simple(run, machines)
