Home | History | Annotate | Download | only in firmware_ChipFwUpdate
      1 # Copyright 2017 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 
      5 AUTHOR = "Chrome OS Team"
      6 NAME = "firmware_ChipFwUpdate"
      7 PURPOSE = "TCPC firmware update test."
      8 CRITERIA = "This test will pass if the updated bios.bin booted successfully."
      9 TIME = "SHORT"
     10 TEST_CATEGORY = "Functional"
     11 TEST_CLASS = "firmware"
     12 TEST_TYPE = "server"
     13 
     14 DOC = """
     15 This test replaces chip (i.e. TCPC) firmware on the DUT's bios.bin
     16 and reboots into it.  The expectation is that the TCPC firmware
     17 is updated correctly when the system boots with the updated bios.bin
     18 
     19 Software sync applies the TCPC firmware update and verifies that
     20 it has been applied.  If the DUT rebooted successfully, we know
     21 that the test has passed.
     22 
     23 For independent verification, the firmware_CompareChipFwToShellBall
     24 FAFT test can be used to verify the running TCPC firmware versions.
     25 
     26 For complete testing, this test needs to be invoked to downgrade, then
     27 upgrade the TCPCs so that we have confidence that the update process
     28 really happened.
     29 """
     30 
     31 from autotest_lib.client.common_lib import utils
     32 
     33 args_dict = utils.args_to_dict(args)
     34 servo_args = hosts.CrosHost.get_servo_arguments(args_dict)
     35 
     36 def run_chip_fw_update(machine):
     37     # Setup the client machine.
     38     host = hosts.create_host(machine, servo_args=servo_args)
     39     job.run_test('firmware_ChipFwUpdate',
     40                  host=host, cmdline_args=args)
     41 
     42 
     43 parallel_simple(run_chip_fw_update, machines)
     44