1# Copyright 2015 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_lv5"
7PURPOSE = "Test hard-to-automate 'normal' mode firmware scenarios."
8CRITERIA = "All tests with SUITE=faft_lv5 must pass."
9
10TIME = "SHORT"
11TEST_CATEGORY = "General"
12TEST_CLASS = "suite"
13TEST_TYPE = "Server"
14
15DOC = """
16
17This test suite runs FAFT (Fully Automated Firmware Test) for BIOS that should
18all pass and that verifies the BIOS fit Chrome OS verified-boot requirements.
19
20All BIOS tests are categorized into 5 test levels:
21  Level-1: Basic BIOS tests which verify basic vboot functions.
22  Level-2: Recovery BIOS tests which need external USB disk.
23  Level-3: Corruption BIOS tests which modify firmware/kernel image.
24           These tests may corrupt the system if any failure happens.
25  Level-4: Advanced BIOS tests which verify not-so-critical features.
26  Level-5: Firmware update tests which update firmware/kernel image.
27
28This suite runs all Level-5 tests.
29
30@param build: The name of the image to test.
31              Ex: x86-mario-release/R17-1412.33.0-a1-b29
32@param board: The board to test on.  Ex: x86-mario
33@param pool: The pool of machines to utilize for scheduling. If pool=None
34             board is used.
35@param check_hosts: require appropriate live hosts to exist in the lab.
36@param SKIP_IMAGE: (optional) If present and True, don't re-image devices.
37"""
38
39import common
40from autotest_lib.server.cros import provision
41from autotest_lib.server.cros.dynamic_suite import dynamic_suite
42
43# Values specified in this bug template will override default values when
44# filing bugs on tests that are a part of this suite. If left unspecified
45# the bug filer will fallback to it's defaults.
46_BUG_TEMPLATE = {
47    'labels': ['FW-labblocker', 'Restrict-View-Google'],
48    'owner': '',
49    'status': None,
50    'summary': None,
51    'title': None,
52}
53
54args_dict['file_bugs'] = False
55args_dict['job'] = job
56args_dict['name'] = 'faft_lv5'
57args_dict['add_experimental'] = True
58args_dict['version_prefix'] = provision.CROS_VERSION_PREFIX
59args_dict['bug_template'] = _BUG_TEMPLATE
60
61dynamic_suite.reimage_and_run(**args_dict)
62