32 lines
1.2 KiB
Python
32 lines
1.2 KiB
Python
# Copyright 2017 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.client.common_lib.cros import cr50_utils
|
|
from autotest_lib.server.cros.faft.cr50_test import Cr50Test
|
|
|
|
|
|
class firmware_Cr50UpdateScriptStress(Cr50Test):
|
|
"""
|
|
Stress the Cr50 Update Script.
|
|
|
|
Clear the update state to force the device to retry the cr50 update. This
|
|
will not update cr50. It will just force the cr50-update script to get
|
|
the version and verify an update is not needed. If there are any reboots
|
|
caused by the update verification, then we know something failed.
|
|
|
|
This test is intended to be run with many iterations to ensure that the
|
|
update process is not flaky.
|
|
"""
|
|
version = 1
|
|
|
|
def run_once(self, host):
|
|
"""Run the cr50 update script and make sure there aren't errors"""
|
|
# Find the last cr50 update message already in /var/log/messages
|
|
last_message = cr50_utils.CheckForFailures(host, '')
|
|
|
|
# Clears the state and reboots the system to get the cr50-update to run
|
|
cr50_utils.ClearUpdateStateAndReboot(host)
|
|
|
|
cr50_utils.CheckForFailures(host, last_message)
|