49 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| # Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
 | |
| # Use of this source code is governed by a BSD-style license that can be
 | |
| # found in the LICENSE file.
 | |
| 
 | |
| from autotest_lib.server import utils
 | |
| 
 | |
| AUTHOR = "Chrome OS Team"
 | |
| NAME = "firmware_UpdateFirmwareVersion"
 | |
| PURPOSE = "Servo based firmware update test which checks the firmware version."
 | |
| CRITERIA = """
 | |
| Prerequirement is as follow:
 | |
| 1. This test should run in normal mode.
 | |
| 2. Fwid should match shellball's (/usr/sbin/chromeos-firmwareupdate) fwid,
 | |
|    unless this test use a given shellball.
 | |
| 3. A USB disk should be plugged-in, which contains a Chrome OS test image.
 | |
| 
 | |
| This test will fail if one of the following conditions is met:
 | |
| 1. Firmware update fails.
 | |
| 2. After firmware update, device restart with firmware A.
 | |
| 3. Firmware version does not increase after firmware update.
 | |
| 4. Firmware version does not recover to original version after recovery.
 | |
| """
 | |
| ATTRIBUTES = "suite:faft_bios, suite:faft_bios_ro_qual, suite:faft_bios_rw_qual, suite:faft_normal, suite:faft_lv5, suite:faft_bios_ec3po, suite:faft_bios_tot, suite:faft_smoke"
 | |
| DEPENDENCIES = "servo_state:WORKING"
 | |
| TIME = "SHORT"
 | |
| TEST_CATEGORY = "Functional"
 | |
| TEST_CLASS = "firmware"
 | |
| TEST_TYPE = "server"
 | |
| 
 | |
| DOC = """
 | |
| This test requires a USB test image plugged in. The firmware id
 | |
| the current running firmware must matches the system shellball's, or user
 | |
| can provide a shellball to do this test. In this way, the client will be
 | |
| update with the given shellball first. On runtime, this test modifies the
 | |
| firmware version of the shellball and runs autoupdate. Check firmware
 | |
| version after boot with firmware B, and then recover firmware A and B to
 | |
| original shellball.
 | |
| """
 | |
| 
 | |
| args_dict = utils.args_to_dict(args)
 | |
| servo_args = hosts.CrosHost.get_servo_arguments(args_dict)
 | |
| 
 | |
| def run_updatefirmwareversion(machine):
 | |
|     host = hosts.create_host(machine, servo_args=servo_args)
 | |
|     job.run_test("firmware_UpdateFirmwareVersion", host=host, cmdline_args=args,
 | |
|                  disable_sysinfo=True)
 | |
| 
 | |
| parallel_simple(run_updatefirmwareversion, machines)
 |