普通文本  |  65行  |  1.58 KB

#!/usr/bin/env python

"""
This file generates all telemetry_GpuTest control files from a master list.
"""

# This test list can be obtained by executing
# /build/${BOARD}/usr/local/telemetry/src/content/test/gpu/run_gpu_test.py

TESTS = [
    'context_lost',
    'gpu_process',
    'gpu_rasterization',
    'hardware_accelerated_feature',
    'maps',
    'memory_test',
    'pixel',
    'screenshot_sync',
    'trace_test',
    'webgl_conformance'
    # TODO(ihf): Reevaluate robustness once crbug.com/379397 is fixed.
    # 'webgl_robustness'
]

CONTROLFILE_TEMPLATE = """\
# Copyright 2014 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.

# Do not edit this file! It was created by generate_controlfiles.py.

AUTHOR = 'chromeos-gfx'
NAME = 'telemetry_GpuTests.{0}'
SUITE = 'graphics_per-day, graphics, graphics_browser'
TIME = 'LONG'
TEST_CATEGORY = 'Functional'
TEST_CLASS = 'gl'
TEST_TYPE = 'server'

DOC = '''
This server control file executes the GPU telemetry test: {0}.

Pass local=True to run with local telemetry and no AFE server.
'''

from autotest_lib.client.common_lib import utils

def run_test(machine):
    host = hosts.create_host(machine)
    job.run_test('telemetry_GpuTests',
                 host=host,
                 test='{0}',
                 args=utils.args_to_dict(args))


parallel_simple(run_test, machines)\
"""


for test in TESTS:
    filename = 'control.%s' % test
    with open(filename, 'w+') as f:
        content = CONTROLFILE_TEMPLATE.format(test)
        f.write(content)