# Copyright 2015 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.

# Please do not edit this file! It has been created by generate_controlfiles.py.

NAME = 'graphics_dEQP.gles2.functional.hasty.0'
AUTHOR = 'chromeos-gfx'
PURPOSE = 'Run the drawElements Quality Program test suite.'
CRITERIA = 'All of the individual tests must pass.'
ATTRIBUTES = 'suite:deqp, suite:graphics_per-day, suite:graphics_system, suite:bvt-perbuild'
SUITE = 'deqp, graphics_per-day, graphics_system, bvt-perbuild'
TIME = 'FAST'
TEST_CATEGORY = 'Functional'
TEST_CLASS = 'graphics'
TEST_TYPE = 'client'
DOC = """
This test runs the drawElements Quality Program test suite.
"""

job.run_test('graphics_dEQP', opts = args + ['filter=dEQP-GLES2.functional',
                                             'subset_to_run=Pass',
                                             'hasty=True',
                                             'shard_number=0',
                                             'shard_count=10'])