# 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_LabControlVerification"
PURPOSE = "Validate basic, critial servo controls for the lab work."
TIME = "LONG"
CRITERIA="Run on DUT with a servo attached and a functional DUT on the servo."
TEST_CATEGORY = "Benchmark"
TEST_CLASS = "servo"
TEST_TYPE = "server"

DOC = """

This test uses a servo host as DUT and then verifies that basic servod
controls work on it, that are required for critical lab functionality.
Additionally, it tries to ensure that all consoles (cr50, EC, and AP) are
addressable.

This test needs to run on a device that has a servo attached to it so
it can act as a servo host. Additionally, a decently functional DUT needs to
hang on the servo so that the controls can have meaningful output.
"""

def run(machine):
    # The machine here is the machine running servod, so traditionally the
    # servo host.
    host = hosts.create_host(machine)
    job.run_test("servo_LabControlVerification", host=host)

parallel_simple(run, machines)
