# 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 = 'harpreet'
NAME = 'network_WiFi_UpdateRouter.pcap'
TIME = 'SHORT'
TEST_TYPE = 'Server'
DEPENDENCIES = 'wificell'
ATTRIBUTES = 'suite:wifi_update_router'

DOC = """
This test updates the packet capture 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,
                 is_pcap=True,
                 tag='pcap')


parallel_simple(run, machines)
