1# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5AUTHOR = "Chrome OS Team"
6NAME = "AFDO_record"
7PURPOSE = "Exercise Chrome, record profiling data using AFDO."
8CRITERIA = "The browser should do a reasonable amout, upload must succeed"
9
10TIME = "LONG"
11TEST_CATEGORY = "General"
12TEST_CLASS = "suite"
13TEST_TYPE = "Server"
14
15DOC = """
16Exercise Chrome, record profiling data using AFDO.
17
18The profile is collected using branch and program counter sampling with
19the 'perf' tool instead of creating an instrumented binary as it is done
20with traditional PGO.
21
22The image should have been built with default optimization turned on for chrome.
23We do this to make branch prediction etc. data driven in future optimizations
24of chrome builds, so realism and source control are important.
25
26Mostly we are just wrapping the labelled tests here.
27
28@param build: The name of the image to test.
29              Ex: x86-mario-release/R17-1412.33.0-a1-b29
30@param board: The board to test on. Ex: x86-mario
31@param pool: The pool of machines to utilize for scheduling. If pool=None
32             board is used.
33@param check_hosts: require appropriate live hosts to exist in the lab.
34"""
35
36import common
37from autotest_lib.server.cros import provision
38from autotest_lib.server.cros.dynamic_suite import dynamic_suite
39
40
41# Values specified in this bug template will override default values when
42# filing bugs on tests that are a part of this suite. If left unspecified
43# the bug filer will fallback to it's defaults.
44_BUG_TEMPLATE = {
45    'labels': ['Build-Toolchain'],
46    'owner': 'llozano@chromium.org',
47    'status': None,
48    'summary': None,
49    'title': None,
50    'cc': ['bjanakiraman@chromium.org']
51}
52
53args_dict['job'] = job
54args_dict['file_bugs'] = True
55args_dict['name'] = 'AFDO_record'
56args_dict['add_experimental'] = True
57args_dict['version_prefix'] = provision.CROS_VERSION_PREFIX
58args_dict['bug_template'] = _BUG_TEMPLATE
59
60dynamic_suite.reimage_and_run(**args_dict)
61