blob: ca6ae8db9236bd7962e46095d8670cd7732f049f [file] [log] [blame]
Mike Trutye51d4362012-07-24 15:15:15 -05001# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
Tom Wai-Hong Tam48958832011-12-30 10:16:57 +08002# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
Tom Wai-Hong Tam9233ebb2012-09-28 19:37:48 +08005from autotest_lib.server import utils
6
Tom Wai-Hong Tam48958832011-12-30 10:16:57 +08007AUTHOR = "Chrome OS Team"
8NAME = "firmware_CgptState"
9PURPOSE = "Servo based executing the CgptState test on client side."
10CRITERIA = "This test will fail if cgpt mis-behaves"
Tom Wai-Hong Tamdf6df512012-09-12 16:16:43 +080011SUITE = "faft,faft_normal,faft_lv4"
Tom Wai-Hong Tam48958832011-12-30 10:16:57 +080012TIME = "LONG"
13TEST_CATEGORY = "Functional"
14TEST_CLASS = "firmware"
15TEST_TYPE = "server"
16
17DOC = """
18This test triggers the CgptState test on client side. In the client
19CgptState test, it set kernels A and B with different cgpt states
20(priority, tries, successful) and checks their boot results.
21
22The test items and logic are now handled in client. This FAFT test
23just handles the reboot logic.
24See /usr/local/sbin/firmware/saft/cgpt_state.py for more detail.
25"""
26
Tom Wai-Hong Tam9233ebb2012-09-28 19:37:48 +080027args_dict = utils.args_to_dict(args)
28servo_host = args_dict.get('servo_host', 'localhost')
29servo_port = args_dict.get('servo_port', None)
30
Tom Wai-Hong Tam48958832011-12-30 10:16:57 +080031def run_cgptstate(machine):
Tom Wai-Hong Tam9233ebb2012-09-28 19:37:48 +080032 host = hosts.create_host(machine, servo_host=servo_host,
33 servo_port=servo_port)
Tom Wai-Hong Tam48958832011-12-30 10:16:57 +080034 job.run_test("firmware_CgptState", host=host, cmdline_args=args,
Mike Trutye51d4362012-07-24 15:15:15 -050035 use_faft=True, disable_sysinfo=True,
36 dev_mode=False, tag="normal")
Tom Wai-Hong Tam48958832011-12-30 10:16:57 +080037
38parallel_simple(run_cgptstate, machines)