aboutsummaryrefslogtreecommitdiff
path: root/server/site_tests/enterprise_CFM_VolumeChange/control.usb_speaker
blob: d34ab28b0b1572470702a165dca0aaaa31bb3dd8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# Copyright 2016 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 = "harpreet@chromium.org"
NAME = "enterprise_CFM_VolumeChange.usb_speaker"
TIME = "SHORT"
TEST_CATEGORY = "Functional"
TEST_CLASS = "enterprise"
TEST_TYPE = "server"
ATTRIBUTES = "suite:hotrod-remora"
DEPENDENCIES = "atrus"
JOB_RETRIES = 3

DOC = """
This test clears the TPM and enables the appropriate usb port on the servo
before kicking off a client side test that enrolls the device into CFM. Once
the device in enrolled, a different client test is kicked off to change the
hangouts volume using hotrod kiosk app JS hooks. These changes are then
validated against the cras_test_client output to make sure the volume matches.
"""

args_dict = utils.args_to_dict(args)

def run_test(machine):
    host = hosts.create_host(machine)
    repeat = int(args_dict.get('repeat', 10))
    cmd = "cras_test_client --dump_server_info | awk '/Output Nodes:/," \
          "/Input Devices:/' | grep -E 'USB' | awk -v N=3 '{print $N}'"

    job.run_test('enterprise_CFM_VolumeChange', host=host, repeat=repeat,
            cmd=cmd, tag="usb_speaker")


parallel_simple(run_test, machines)