# Copyright (c) 2013 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 = "AFDO_record"
PURPOSE = "Exercise Chrome, record profiling data using AFDO."

TIME = "LONG"
TEST_CATEGORY = "General"
TEST_CLASS = "suite"
TEST_TYPE = "Server"

DOC = """
Exercise Chrome, record profiling data using AFDO.

The profile is collected using branch and program counter sampling with
the 'perf' tool instead of creating an instrumented binary as it is done
with traditional PGO.

The image should have been built with default optimization turned on for chrome.
We do this to make branch prediction etc. data driven in future optimizations
of chrome builds, so realism and source control are important.

Mostly we are just wrapping the labelled tests here.

@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 check_hosts: require appropriate live hosts to exist in the lab.
"""

import common
from autotest_lib.server.cros import provision
from autotest_lib.server.cros.dynamic_suite import dynamic_suite


# Values specified in this bug template will override default values when
# filing bugs on tests that are a part of this suite. If left unspecified
# the bug filer will fallback to it's defaults.
_BUG_TEMPLATE = {
    'labels': ['Build-Toolchain'],
    'owner': 'llozano@chromium.org',
    'status': None,
    'summary': None,
    'title': None,
    'cc': ['laszio@chromium.org',
           'chromeos-toolchain-sheriff@grotations.appspotmail.com']
}

args_dict['job'] = job
args_dict['file_bugs'] = True
args_dict['name'] = 'AFDO_record'
args_dict['add_experimental'] = True
args_dict['version_prefix'] = provision.CROS_VERSION_PREFIX
args_dict['bug_template'] = _BUG_TEMPLATE

dynamic_suite.reimage_and_run(**args_dict)
