# 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 = "abergman, chromeos-engprod-platform-syd"
NAME = "performance_cuj_benchmarks"
PURPOSE = "Tast wrapper suite for running public benchmarks performance CUJ Tast tests on Moblab."
TIME = "LONG"
TEST_CATEGORY = "General"
TEST_CLASS = "suite"
TEST_TYPE = "Server"

DOC = """
This suite executes a set of public benchmark performance CUJ (critical user
journey) test cases. Supposed to be run by partners (OEMs, ODMs) using Moblab as
a quick check that all included tests are running successfully.

@param build: The name of the image to test.
          Ex: x86-mario-release/R17-1412.33.0-a1-b29
@param board: The board to test on. Ex: x86-mario
@param pool: The pool of machines to utilize for scheduling. If pool=None
             board is used.
@param SKIP_IMAGE: (optional) If present and True, don't re-image devices.
"""

import common

from autotest_lib.server.cros.dynamic_suite import dynamic_suite

args_dict['name'] = NAME
args_dict['job'] = job

dynamic_suite.reimage_and_run(**args_dict)
