# 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.stress.NotPass'
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 = 'deqp, graphics_per-day, graphics_system'
TIME = 'LONG'
DEPENDENCIES = 'cleanup-reboot'
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.stress',
                                             'subset_to_run=NotPass',
                                             'hasty=False',
                                             'shard_number=0',
                                             'shard_count=1'])