# Copyright 2021 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 = 'Chrome OS Team'
NAME = 'tast.pvs-display'
TIME = 'MEDIUM'
TEST_TYPE = 'Server'
ATTRIBUTES = 'suite:pvs-display'
MAX_RESULT_SIZE_KB = 1024 * 1024
PY_VERSION = 3

# tast.py uses binaries installed from autotest_server_package.tar.bz2.
REQUIRE_SSP = True

DOC = '''
This test suite is part of the Platform Validation Suite (go/cros-pvs)
and includes a collection of tast.gaphics tests that require no
special hardware to run.
'''

def run(machine):
    job.run_test('tast',
                 host=hosts.create_host(machine),
                 test_exprs=['('
                   ' "name:graphics.IGT.kms_*" && '
                   ' !"name:graphics.IGT.kms_addfb_basic" && '
                   ' !"name:graphics.IGT.kms_atomic" && '
                   ' !"name:graphics.IGT.kms_atomic_transition" && '
                   ' !"name:graphics.IGT.kms_concurrent" && '
                   ' !"name:graphics.IGT.kms_content_protection" && '
                   ' !"name:graphics.IGT.kms_cursor_legacy" && '
                   ' !"name:graphics.IGT.kms_dp_dsc" && '
                   ' !"name:graphics.IGT.kms_flip" && '
                   ' !"name:graphics.IGT.kms_panel_fitting" && '
                   ' !"name:graphics.IGT.kms_plane" && '
                   ' !"name:graphics.IGT.kms_plane_alpha_blend" && '
                   ' !"name:graphics.IGT.kms_plane_cursor" && '
                   ' !"name:graphics.IGT.kms_plane_multiple" && '
                   ' !"name:graphics.IGT.kms_plane_scaling" && '
                   ' !"name:graphics.IGT.kms_prime" && '
                   ' !"name:graphics.IGT.kms_setmode" && '
                   ' !"name:graphics.IGT.kms_vblank" '
                 ')'],
                 ignore_test_failures=True, max_run_sec=21600,
                 command_args=args)

parallel_simple(run, machines)
