# 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 servo_LabstationVerification test_that 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)