# Copyright (c) 2012 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 = "Stanley Wong <stanleyw@google.com>"
TIME = "SHORT"
NAME = "ONC Tests"
TEST_CATEGORY = "Stress"
TEST_CLASS = "network"
TEST_TYPE = "Server"
SUITE = "onccell"
SYNC_COUNT = 1
DOC = """
ONCServer is a suite of 3-machine tests and a client side test network_ONC to
validate end to end ONC functionality over different AP configurations.
Requirements are: one client, one server, and one programmable WiFi AP/Router
are required (either off-the-shelf with a network-accesible CLI or a Linux/BSD
system with a WiFi card that supports HostAP functionality).

Configuration information to run_test:

server     - the IP address of the server (automatically filled in)
client     - the IP address of the client (automatically filled in)
router     - the IP address of the WiFi AP/Router and the names of the
             wifi and wired devices to configure
"""

from autotest_lib.server import site_wifitest

def run_server_tests(machine):
  site_wifitest.run_test_dir("network_ONCServer", job, args, machine)

parallel_simple(run_server_tests, machines)
