1# Copyright 2016 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 = "faft_ec3po"
7PURPOSE = "Test hard-to-automate firmware and ec scenarios using EC-3PO."
8CRITERIA = "All tests with SUITE=faft_ec3po must pass."
9
10TIME = "SHORT"
11TEST_CATEGORY = "General"
12TEST_CLASS = "suite"
13TEST_TYPE = "Server"
14
15DOC = """
16This is the same suite as faft_ec, but instead uses the EC-3PO console
17interpreter inside of servod.  This suite should be removed when satisfied with
18the results.
19
20This is a faft (FULLY AUTOMATED FIRMWARE TEST) suite. The tests in this suite
21verify the Chrome OS EC operation, that valid boot scenarios progress properly
22(with state progress checks) and that error scenarios (corrupted blobs) are
23caught as expected. Some of these test failures should close the tree as they
24may imply that the system is unbootable and further tests will only become
25hung or blocked. Other tests verify all of the features (some of them security
26related) are functioning.
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@param SKIP_IMAGE: (optional) If present and True, don't re-image devices.
35"""
36
37import common
38from autotest_lib.server.cros import provision
39from autotest_lib.server.cros.dynamic_suite import dynamic_suite
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': ['FW-labblocker', 'Restrict-View-Google'],
46    'owner': 'aaboagye@chromium.org',
47    'status': None,
48    'summary': None,
49    'title': None,
50}
51
52args_dict['file_bugs'] = True
53args_dict['name'] = 'faft_ec3po'
54args_dict['job'] = job
55args_dict['add_experimental'] = True
56args_dict['version_prefix'] = provision.CROS_VERSION_PREFIX
57args_dict['bug_template'] = _BUG_TEMPLATE
58
59dynamic_suite.reimage_and_run(**args_dict)
60