aboutsummaryrefslogtreecommitdiff
path: root/server/site_tests/firmware_RollbackFirmware/firmware_RollbackFirmware.py
diff options
context:
space:
mode:
Diffstat (limited to 'server/site_tests/firmware_RollbackFirmware/firmware_RollbackFirmware.py')
-rw-r--r--server/site_tests/firmware_RollbackFirmware/firmware_RollbackFirmware.py18
1 files changed, 13 insertions, 5 deletions
diff --git a/server/site_tests/firmware_RollbackFirmware/firmware_RollbackFirmware.py b/server/site_tests/firmware_RollbackFirmware/firmware_RollbackFirmware.py
index 81be8f7776..703b3df33f 100644
--- a/server/site_tests/firmware_RollbackFirmware/firmware_RollbackFirmware.py
+++ b/server/site_tests/firmware_RollbackFirmware/firmware_RollbackFirmware.py
@@ -12,7 +12,7 @@ class firmware_RollbackFirmware(FirmwareTest):
"""
Servo based firmware rollback test.
- This test requires a USB disk plugged-in, which contains a Chrome OS test
+ This test requires a USB disk plugged-in, which contains a ChromeOS test
image (built by "build_image --test"). On runtime, this test rollbacks
firmware A and results firmware B boot. It then rollbacks firmware B and
results recovery boot.
@@ -40,12 +40,18 @@ class firmware_RollbackFirmware(FirmwareTest):
"""Runs a single iteration of the test."""
logging.info("Rollback firmware A.")
self.check_state((self.checkers.fw_tries_checker, 'A'))
- self.faft_client.bios.move_version_backward('a')
+ version_a = self.faft_client.bios.get_version('a')
+ logging.info("Change A version from %d to %d.", version_a,
+ version_a - 1)
+ self.faft_client.bios.set_version('a', version_a - 1)
self.switcher.mode_aware_reboot()
logging.info("Expected firmware B boot and rollback firmware B.")
self.check_state((self.checkers.fw_tries_checker, ('B', False)))
- self.faft_client.bios.move_version_backward('b')
+ version_b = self.faft_client.bios.get_version('b')
+ logging.info("Change B version from %d to %d.", version_b,
+ version_b - 1)
+ self.faft_client.bios.set_version('b', version_b - 1)
# Older devices (without BROKEN screen) didn't wait for removal in
# dev mode. Make sure the USB key is not plugged in so they won't
@@ -62,8 +68,10 @@ class firmware_RollbackFirmware(FirmwareTest):
vboot.RECOVERY_REASON['RO_INVALID_RW'],
vboot.RECOVERY_REASON['RW_FW_ROLLBACK']),
}))
- self.faft_client.bios.move_version_forward('a')
- self.faft_client.bios.move_version_forward('b')
+ logging.info("Restore version of firmware A/B to %d/%d.", version_a,
+ version_b)
+ self.faft_client.bios.set_version('a', version_a)
+ self.faft_client.bios.set_version('b', version_b)
self.switcher.mode_aware_reboot()
expected_slot = 'B' if self.fw_vboot2 else 'A'