# Copyright 2016 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 = 'tienchang'
NAME = 'wifi_stress'
PURPOSE = 'Stress test ChromeOS WiFi functionality and performance for 23 hours'
TIME = 'LONG'
TEST_TYPE = 'Server'

DOC = """
This suite contains tests that stress ChromeOS WiFi functionality and
performance against routers with various network configurations for 23 hours.

@param build: The name of the image to test.
          Ex: x86-mario-release/R17-1412.33.0-a1-b29
@param board: The board to test on. Ex: x86-mario
@param pool: The pool of machines to utilize for scheduling. If pool=None
             board is used.
@param check_hosts: require appropriate live hosts to exist in the lab.
@param SKIP_IMAGE: (optional) If present and True, don't re-image devices.
@param file_bugs: If True your suite will file bugs on failures.
@param max_run_time: Amount of time each test shoud run in minutes.

"""

import common
from autotest_lib.server.cros import provision
from autotest_lib.server.cros.dynamic_suite import dynamic_suite

args_dict['add_experimental'] = True
args_dict['max_runtime_mins'] = 1440
args_dict['timeout_mins'] = 1440
args_dict['version_prefix'] = provision.CROS_VERSION_PREFIX
args_dict['name'] = NAME
args_dict['job'] = job

dynamic_suite.reimage_and_run(**args_dict)
