# 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_GTK'
TIME = 'SHORT'
TEST_TYPE = 'Server'
ATTRIBUTES = ('suite:wifi_correctness_cros_core, suite:wifi_matfunc, '
              'suite:wifi_matfunc_bcm4371')
SUITE = 'wifi_matfunc, wifi_matfunc_bcm4371, wifi_correctness_cros_core'
DEPENDENCIES = 'wificell'

DOC = """
This test verifies that we can continue to decrypt broadcast traffic while
going through group temporal key (GTK) rekeys.
"""


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


parallel_simple(run, machines)
