# Copyright (c) 2013 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 = "dunno@chromium.org"
NAME = "youtube_page"
PURPOSE = "Verify that YouTube page HTML5 video works"

TIME = "SHORT"
TEST_CATEGORY = "General"
TEST_CLASS = "suite"
TEST_TYPE = "Server"

DOC = """
This test verify YouTube page video playback, states and resolutions.

@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['name'] = 'youtube_page'
args_dict['add_experimental'] = True
args_dict['max_runtime_mins'] = 60
args_dict['job'] = job

dynamic_suite.reimage_and_run(**args_dict)
