# 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.info'
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-cq'
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.info',
                 'subset_to_run=Pass',
                 'hasty=False',
                 'shard_number=0',
                 'shard_count=1'
             ])