FAFT: Adding new test firmware_ECLidShutdown
This tests the functionality of the
GBB_FLAG_DISABLE_LID_SHUTDOWN flag.
BUG=chromium:446525
BRANCH=none
TEST=tested on veyron_jerry and samus
Change-Id: I06f8f654513212bdf129c981f9dab9f12c9c54d1
Signed-off-by: Shelley Chen <shchen@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/304190
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 6cc7f04..6b0d322 100644
--- a/server/cros/faft/firmware_test.py
+++ b/server/cros/faft/firmware_test.py
@@ -689,6 +689,32 @@
self.check_ec_capability(['usbpd_uart'], suppress_warning=True)):
self.servo.set('usbpd_uart_capture', 'off')
+ def _get_power_state(self, power_state):
+ """
+ Return the current power state of the AP
+ """
+ return self.ec.send_command_get_output("powerinfo", [power_state])
+
+ def wait_power_state(self, power_state, retries):
+ """
+ Wait for certain power state.
+
+ @param power_state: power state you are expecting
+ @param retries: retries. This is necessary if AP is powering down
+ and transitioning through different states.
+ """
+ logging.info('Checking power state "%s" maximum %d times.',
+ power_state, retries)
+ while retries > 0:
+ logging.info("try count: %d" % retries)
+ try:
+ retries = retries - 1
+ ret = self._get_power_state(power_state)
+ return True
+ except error.TestFail:
+ pass
+ return False
+
def _fetch_servo_log(self):
"""Fetch the servo log."""
cmd = '[ -e %s ] && cat %s || echo NOTFOUND' % ((self._SERVOD_LOG,) * 2)