# 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 = 'quiche, wiley, pstew'
NAME = 'network_WiFi_HiddenScan'
TIME = 'SHORT'
TEST_TYPE = 'Server'
ATTRIBUTES = ''
DEPENDENCIES = 'wificell'

DOC = """
This test scans for hidden networks. The test verifies that the 802.11
probe frames are seen over-the-air, and that the probes include both
a) the specific hidden SSID, and b) the broadcast SSID.

"""


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


parallel_simple(run, machines)
