# Copyright 2017 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 = 'ejcaruso, snanda'
NAME = 'network_WiFi_DisableRandomMACAddress'
TIME = 'SHORT'
TEST_TYPE = 'Server'
DEPENDENCIES = 'wificell'
ATTRIBUTES = 'suite:wifi_matfunc'

DOC = """
This test verifies that MAC address randomization can be
turned on and then off, and that scans launched afterwards
don't continue to randomize the MAC address.
"""

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

parallel_simple(run, machines)
