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

# This control file runs no tests by default. It can be used to run specific
# tests or test sets by specifying a filter. The filter is compared
# to the beginning of each test name to determine what to run.
# Example:
# test_that --args="filter=dEQP-GLES3.info" <ip> graphics_dEQP.filter_args

NAME = 'graphics_dEQP.filter_args'
AUTHOR = 'chromeos-gfx'
PURPOSE = 'Run the drawElements Quality Program test suite.'
CRITERIA = 'All of the individual tests must pass.'
ATTRIBUTES = ''
SUITE = ''
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)
