# Copyright (c) 2014 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, zqiu, pstew, quiche'
NAME = 'network_WiFi_UpdateRouter'
TIME = 'SHORT'
TEST_TYPE = 'Server'
DEPENDENCIES = 'wificell'
SUITE = ('wifi_matfunc, wifi_matfunc_bcm4356, wifi_matfunc_marvell8897,'
         'wifi_matfunc_intel7265')

DOC = """
This test updates the router in a WiFi cell to the latest stable version.
"""


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


parallel_simple(run, machines)
