# 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 = "cliffordcheng@chromium.org"
NAME = "wifi_tdls_cast"
PURPOSE = """
  Verify TDLS is used during mirroring between TDLS enabled
  ChromeOS device and Chromecast.
"""

TIME = "MEDIUM"
TEST_CATEGORY = "General"
TEST_CLASS = "suite"
TEST_TYPE = "CLIENT"

DOC = """
This is an example of a dynamic test suite.

@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.dynamic_suite import dynamic_suite

args_dict['add_experimental'] = True
args_dict['max_runtime_mins'] = 60
args_dict['name'] = NAME
args_dict['job'] = job

dynamic_suite.reimage_and_run(**args_dict)
