1# Copyright (c) 2012 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 5from autotest_lib.server import utils 6 7AUTHOR = "ChromeOS Team" 8NAME = "firmware_DevScreenTimeout" 9PURPOSE = "Servo based developer firmware screen timeout test" 10CRITERIA = "This test will fail if the timeout period does not match our spec." 11ATTRIBUTES = "suite:faft_bios, suite:faft_bios_ro_qual, suite:faft_bios_rw_qual, suite:faft_dev, suite:faft_lv4, suite:faft_bios_tot" 12DEPENDENCIES = "servo_state:WORKING" 13TIME = "SHORT" 14TEST_CATEGORY = "Functional" 15TEST_CLASS = "firmware" 16TEST_TYPE = "server" 17JOB_RETRIES = 0 18PY_VERSION = 3 19 20DOC = """ 21When booting in developer mode, the firmware shows a screen to warn user 22the disk image is not secured. If a user press Ctrl-D or a timeout reaches, 23it will boot to developer mode. This test is to verify the timeout period. 24 25This test tries to boot the system in developer mode twice. 26The first one will repeatly press Ctrl-D on booting in order to reduce 27the time on developer warning screen. The second one will do nothing and 28wait the developer screen timeout. The time difference of these two boots 29is close to the developer screen timeout. 30""" 31 32args_dict = utils.args_to_dict(args) 33servo_args = hosts.CrosHost.get_servo_arguments(args_dict) 34 35def run_devscreentimeout(machine): 36 host = hosts.create_host(machine, servo_args=servo_args) 37 job.run_test("firmware_DevScreenTimeout", host=host, cmdline_args=args, 38 disable_sysinfo=True, dev_mode=True, tag="dev") 39 40parallel_simple(run_devscreentimeout, machines) 41