Reduce one USB disk probe on firmware_InvalidUSB test.
By accepting usb_dev as an argument of assert_test_image_in_usb_disk(),
we can reuse the usb_dev value. This change also moves the setup_dev_mode()
after the USB disk detection to optimize the case of invalid USB image.
BUG=chromium-os:19710
TEST=run_remote_tests.sh --remote=$REMOTE_IP -a "xml_config=$OVERLAY_XML \
servo_vid=0x18d1 servo_pid=0x5001" firmware_InvalidUSB
Change-Id: Idfe32634a74d0fff4d482c15dc7269fd51d4d7ac
Reviewed-on: https://gerrit.chromium.org/gerrit/13551
Reviewed-by: Todd Broch <tbroch@chromium.org>
Tested-by: Tom Wai-Hong Tam <waihong@chromium.org>
Commit-Ready: Tom Wai-Hong Tam <waihong@chromium.org>
diff --git a/server/cros/faftsequence.py b/server/cros/faftsequence.py
index 819fa72..943c031 100644
--- a/server/cros/faftsequence.py
+++ b/server/cros/faftsequence.py
@@ -206,17 +206,24 @@
super(FAFTSequence, self).cleanup()
- def assert_test_image_in_usb_disk(self):
+ def assert_test_image_in_usb_disk(self, usb_dev=None):
"""Assert an USB disk plugged-in on servo and a test image inside.
+ Args:
+ usb_dev: A string of USB stick path on the host, like '/dev/sdc'.
+ If None, it is detected automatically.
+
Raises:
error.TestError: if USB disk not detected or not a test image.
"""
- self.servo.set('usb_mux_sel1', 'servo_sees_usbkey')
- usb_dev = self.servo.probe_host_usb_dev()
- if not usb_dev:
- raise error.TestError(
- 'An USB disk should be plugged in the servo board.')
+ if usb_dev:
+ assert self.servo.get('usb_mux_sel1') == 'servo_sees_usbkey'
+ else:
+ self.servo.set('usb_mux_sel1', 'servo_sees_usbkey')
+ usb_dev = self.servo.probe_host_usb_dev()
+ if not usb_dev:
+ raise error.TestError(
+ 'An USB disk should be plugged in the servo board.')
tmp_dir = tempfile.mkdtemp()
utils.system('sudo mount -r -t ext2 %s3 %s' % (usb_dev, tmp_dir))