| # 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 = "Chrome OS Team" |
| NAME = "servo_LabstationVerification" |
| PURPOSE = "Ensure labstation images can provide basic lab functionality." |
| ATTRIBUTES = "suite:labstation_verification" |
| TIME = "MEDIUM" |
| TEST_CATEGORY = "Benchmark" |
| TEST_CLASS = "platform" |
| TEST_TYPE = "server" |
| |
| DOC = """ |
| This test is a wrapper around servo_Verification |
| |
| This test makes the following assumptions: |
| 1. There is a servo device attached to the labstation being tested. |
| 1.1 There is a usb stick in the imaging slot on the servo device. |
| |
| 2. There is a DUT attached to the servo mentioned in 1. |
| |
| 3. The DUT is connected to the internet via ethernet through the servo. |
| 3.1 The DUT is connected to the same subnet as the labstation. |
| |
| 4. The shared network supports IPv6 with IEEE EUI-64 (from EUI-48/mac) node |
| addresses |
| |
| 4.1: There is also a way for local testing to specify dut_ip=${IP} in the args |
| to skip IP inferring and use a known IP. |
| |
| Sample usage: |
| test_that <labstation ip> servo_LabstationVerification |
| |
| test_that <labstation ip> servo_LabstationVerification --args="dut_ip=${DUT_IP}" |
| // To skip DUT ip inferring and use a known DUT ip |
| |
| A fun note: |
| If the labstation being tested is running an image that has already been |
| qualified, this test can also be used to see whether a (new) DUT is likely |
| to have lab deployment issues that are specific to the DUT as the test goes |
| through a lot of the flow that deployment goes through, and also tests some |
| basic features like console access and powerstate, which could trip up many |
| tests or repairs. |
| """ |
| # Workaround to make it compatible with moblab autotest UI. |
| global args_dict |
| try: |
| args_dict |
| except NameError: |
| args_dict = utils.args_to_dict(args) |
| |
| def run(machine): |
| host = hosts.create_host(machine) |
| job.run_test("servo_LabstationVerification", host=host, config=args_dict, |
| disable_sysinfo=True) |
| |
| parallel_simple(run, machines) |