# Copyright 2021 The ChromiumOS Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

NAME = 'chromium'
METADATA = {
    'contacts': ['chrome-browser-infra@google.com'],
    'bug_component': 'b:1085804',
    'criteria': 'Invoke the gtest executable built by chromium builders',
    'hw_agnostic': True
}
TEST_TYPE = "Server"

MAX_RESULT_SIZE_KB = 256 * 1024
REQUIRE_SSP = True

DOC = '''
This is a generic wrapper for chromium gtests. The test executable and runtime
deps are provisioned by TLS. The wrapper mounts it, kicks off the script and
copies the result to autotest/results.
'''

def run(machine):
    host=hosts.create_host(machine)
    job.run_test('chromium', host=host, args=args)

parallel_simple(run, machines)
