# 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'
SUITE = 'wifi_matfunc'
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)
