| # 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.internal_speaker" |
| TIME = "SHORT" |
| TEST_CATEGORY = "Functional" |
| TEST_CLASS = "enterprise" |
| TEST_TYPE = "server" |
| ATTRIBUTES = "suite:hotrod" |
| DEPENDENCIES = "internal_speaker" |
| 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) |
| servo_args = hosts.CrosHost.get_servo_arguments(args_dict) |
| |
| def run_test(machine): |
| host = hosts.create_host(machine, servo_args=servo_args) |
| repeat = int(args_dict.get('repeat', 10)) |
| cmd = "cras_test_client --dump_server_info | awk '/Output Nodes:/," \ |
| "/Input Devices:/' | grep -E 'INTERNAL_*' | awk -v N=3 '{print $N}'" |
| |
| job.run_test('enterprise_CFM_VolumeChange', host=host, repeat=repeat, |
| cmd=cmd, tag="internal_speaker") |
| |
| |
| parallel_simple(run_test, machines) |