40 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| # Copyright 2019 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 = "The Chromium OS Authors"
 | |
| NAME = "firmware_WilcoDiagnosticsMode"
 | |
| PURPOSE = "Verify that AP firmware handles a corrupt Wilco diagnostics binary and applies updates to it"
 | |
| ATTRIBUTES = "suite:faft_wilco, suite:faft_bios, suite:faft_bios_ro_qual, suite:faft_bios_rw_qual"
 | |
| DEPENDENCIES = "servo_state:WORKING"
 | |
| TIME = "MEDIUM"
 | |
| TEST_TYPE = "server"
 | |
| DEPENDENCIES = "servo_state:WORKING, board:sarien"
 | |
| JOB_RETRIES = 0
 | |
| 
 | |
| DOC = """Corrupt the Wilco diagnostics image and then reinstall it.
 | |
| 
 | |
| Wilco supports entry into a diagnostics image from recovery mode. The image is
 | |
| stored in the RW_LEGACY firmware section and updated during AP firmware updates.
 | |
| Entry into the image should fail if the image is corrupted. Updating the
 | |
| firmware should restore the diagnostics image.
 | |
| """
 | |
| 
 | |
| if 'args_dict' not in locals():
 | |
|     args_dict = {}
 | |
| 
 | |
| args_dict.update(utils.args_to_dict(args))
 | |
| servo_args = hosts.CrosHost.get_servo_arguments(args_dict)
 | |
| 
 | |
| def run(machine):
 | |
|     host = hosts.create_host(machine, servo_args=servo_args)
 | |
| 
 | |
|     iterations = int(args_dict.get("iterations", 1))
 | |
| 
 | |
|     job.run_test("firmware_WilcoDiagnosticsMode", host=host,
 | |
|             cmdline_args=args, full_args=args_dict, iterations=iterations)
 | |
| 
 | |
| parallel_simple(run, machines)
 |