# Copyright 2015 The Chromium 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'
# TODO(crbug.com/1098024, crbug.com/1005443): re-enable this when either the
# updater is fixed to handle old OS, or when we've updated OS images.
#ATTRIBUTES = 'suite:wifi_update_router'

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)
