#!/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}'
ATTRIBUTES = 'suite:graphics_per-day, suite: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)