faft: Speed up the waiting time for dev screen and sync
Waiting for a dev screen and pressing Ctrl-D is a recurrent action.
Booting to a dev screen is a bit faster than other firmware screens,
like recovery insert screen. We can make the dev screen a separated
case from other firmware screens for speed-up. It can save 3 seconds
each time.
Also the sync delay can be faster, from 5 seconds to 2 seconds.
BUG=chromium-os:34392
TEST=run FAFT suite on Link and the dev screen timing is correct.
Change-Id: I377494cc44b4bb9ca3e2d2addee3cb34a2d511d0
Reviewed-on: https://gerrit.chromium.org/gerrit/38630
Reviewed-by: Vic Yang <victoryang@chromium.org>
Commit-Ready: Tom Wai-Hong Tam <waihong@chromium.org>
Tested-by: Tom Wai-Hong Tam <waihong@chromium.org>
diff --git a/server/cros/faft_delay_constants.py b/server/cros/faft_delay_constants.py
index 1675aff..c4c34c3 100644
--- a/server/cros/faft_delay_constants.py
+++ b/server/cros/faft_delay_constants.py
@@ -8,6 +8,8 @@
# Delay between power-on and firmware screen
firmware_screen = 10
+ # Delay between power-on and dev screen
+ dev_screen = 7
# Delay between keypresses in firmware screen
confirm_screen = 3
# Delay between passing firmware screen and text mode warning screen
@@ -21,7 +23,7 @@
# Delay between USB plug-out and plug-in
between_usb_plug = 10
# Delay after running the 'sync' command
- sync = 5
+ sync = 2
# Delay for waiting client to shutdown
shutdown = 30
# Delay for waiting client to return before sending EC reboot command
@@ -59,3 +61,4 @@
if platform == 'Link':
self.firmware_screen = 7
+ self.dev_screen = 4
diff --git a/server/cros/faftsequence.py b/server/cros/faftsequence.py
index 6121e9e..0c781ed 100644
--- a/server/cros/faftsequence.py
+++ b/server/cros/faftsequence.py
@@ -589,7 +589,7 @@
# If changing FORCE_DEV_SWITCH_ON flag, reboot to get a clear state
if ((gbb_flags ^ new_flags) & vboot.GBB_FLAG_FORCE_DEV_SWITCH_ON):
self.run_faft_step({
- 'firmware_action': self.wait_fw_screen_and_ctrl_d,
+ 'firmware_action': self.wait_dev_screen_and_ctrl_d,
})
@@ -828,6 +828,12 @@
self.servo.enter_key()
+ def wait_dev_screen_and_ctrl_d(self):
+ """Wait for firmware warning screen and press Ctrl-D."""
+ time.sleep(self.delay.dev_screen)
+ self.press_ctrl_d()
+
+
def wait_fw_screen_and_ctrl_d(self):
"""Wait for firmware warning screen and press Ctrl-D."""
time.sleep(self.delay.firmware_screen)
@@ -1032,7 +1038,7 @@
"""
# Change the default firmware_action for dev mode passing the fw screen.
self.register_faft_template({
- 'firmware_action': (self.wait_fw_screen_and_ctrl_d if dev_mode
+ 'firmware_action': (self.wait_dev_screen_and_ctrl_d if dev_mode
else None),
})
if dev_mode:
diff --git a/server/site_tests/firmware_DevMode/firmware_DevMode.py b/server/site_tests/firmware_DevMode/firmware_DevMode.py
index ef4a22c..9b63d6d 100644
--- a/server/site_tests/firmware_DevMode/firmware_DevMode.py
+++ b/server/site_tests/firmware_DevMode/firmware_DevMode.py
@@ -32,7 +32,7 @@
}),
'userspace_action': self.enable_dev_mode_and_reboot,
'reboot_action': None,
- 'firmware_action': self.wait_fw_screen_and_ctrl_d,
+ 'firmware_action': self.wait_dev_screen_and_ctrl_d,
},
{ # Step 2, expected developer mode boot and enable normal mode
'state_checker': (self.checkers.crossystem_checker, {
diff --git a/server/site_tests/firmware_DevModeStress/firmware_DevModeStress.py b/server/site_tests/firmware_DevModeStress/firmware_DevModeStress.py
index 640e308..10b2dda 100644
--- a/server/site_tests/firmware_DevModeStress/firmware_DevModeStress.py
+++ b/server/site_tests/firmware_DevModeStress/firmware_DevModeStress.py
@@ -71,7 +71,7 @@
'devsw_boot': '1',
'mainfw_type': 'developer',
}),
- 'firmware_action': self.wait_fw_screen_and_ctrl_d,
+ 'firmware_action': self.wait_dev_screen_and_ctrl_d,
},
{ # Step 2, verify dev mode after soft reboot
'state_checker': (self.checkers.crossystem_checker, {