Add power_action to run_shutdown_process to skip power_key presses.
- if pre_power_action is lid_open:yes, the subsequent power_key presses
will result in turning DUT off which will cause the last test in
firmware_FwScreenCloseLid to fail.
BUG=chrome-os-partner:48216
TEST=Run firmware_FwScreenCloseLid and firmware_FwScreenPressPower on link.
Change-Id: I2bf7fdb5049fa72d2ca5f18c1d254de7eadb0c12
Reviewed-on: https://chromium-review.googlesource.com/315776
Commit-Ready: danny chan <dchan@chromium.org>
Tested-by: danny chan <dchan@chromium.org>
Reviewed-by: Wai-Hong Tam <waihong@chromium.org>
diff --git a/server/cros/faft/firmware_test.py b/server/cros/faft/firmware_test.py
index fd8136c..f31e228 100644
--- a/server/cros/faft/firmware_test.py
+++ b/server/cros/faft/firmware_test.py
@@ -1074,12 +1074,13 @@
return ret
def run_shutdown_process(self, shutdown_action, pre_power_action=None,
- post_power_action=None, shutdown_timeout=None):
+ run_power_action=True, post_power_action=None, shutdown_timeout=None):
"""Run shutdown_action(), which makes DUT shutdown, and power it on.
@param shutdown_action: function which makes DUT shutdown, like
pressing power key.
@param pre_power_action: function which is called before next power on.
+ @param power_action: power_key press by default, set to None to skip.
@param post_power_action: function which is called after next power on.
@param shutdown_timeout: a timeout to confirm DUT shutdown.
@raise TestFail: if the shutdown_action() failed to turn DUT off.
@@ -1099,7 +1100,8 @@
if pre_power_action:
self._call_action(pre_power_action)
- self.servo.power_key(self.faft_config.hold_pwr_button_poweron)
+ if run_power_action:
+ self.servo.power_key(self.faft_config.hold_pwr_button_poweron)
if post_power_action:
self._call_action(post_power_action)