| # Copyright 2019 The Chromium OS Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| from autotest_lib.server import utils |
| |
| AUTHOR = "coconutruben" |
| NAME = "servo_USBMuxVerification" |
| PURPOSE = "Validate the usb mux on servo can face both host and DUT." |
| CRITERIA = "This test is a wrapper for a client test." |
| TIME = "SHORT" |
| ATTRIBUTES = "suite:servo_lab" |
| TEST_CATEGORY = "Benchmark" |
| TEST_CLASS = "servo" |
| TEST_TYPE = "server" |
| DEPENDENCIES = "servo_state:WORKING" |
| |
| DOC = """ |
| |
| This test is to validate whether the usb stick on a (lab) servo device i.e. v2, |
| v3, and v4, can switch properly between servo host and dut host. It simply |
| checks that the stick becomes visible on the right side, given the mux state |
| and power state of the port. |
| |
| Notes: |
| - Test fails if the servo doesn't have an image usb port |
| - Test fails if no usb block device with vid/pid/serial plugged into said port |
| """ |
| |
| # Workaround to make it compatible with moblab autotest UI. |
| global args_dict |
| try: |
| args_dict |
| except NameError: |
| args_dict = utils.args_to_dict(args) |
| servo_args = hosts.CrosHost.get_servo_arguments(args_dict) |
| |
| def run(machine): |
| host = hosts.create_host(machine, servo_args=servo_args) |
| job.run_test("servo_USBMuxVerification", host=host) |
| |
| parallel_simple(run, machines) |