1# Copyright 2016 The Chromium OS Authors. All rights reserved. 2# Use of this source code is governed by a BSD-style license that can be 3# found in the LICENSE file. 4 5from autotest_lib.client.cros.audio import audio_test_data 6from autotest_lib.client.cros.chameleon import audio_test_utils 7from autotest_lib.client.cros.chameleon import chameleon_audio_ids 8from autotest_lib.server import utils 9 10AUTHOR = "chromeos-chameleon" 11NAME = "audio_AudioAfterSuspend.headphone.unplug" 12PURPOSE = "Remotely controlled headphone AFTER SUSPEND audio test." 13CRITERIA = "This test will fail if the captured audio does not match original file." 14TIME = "SHORT" 15TEST_CATEGORY = "Functional" 16TEST_CLASS = "audio" 17TEST_TYPE = "server" 18ATTRIBUTES = "suite:chameleon_audio_unstable" 19DEPENDENCIES = "audio_box" 20JOB_RETRIES = 2 21 22DOC = """ 23This test remotely tests headphone audio function against DUT after suspend. 24""" 25 26# Plug unplug sequnce 27# (plugged_before_suspend, plugged_after_suspend, plugged_before_resume, 28# plugged_after_resume) 29plug_status = [(True,False,False,True), 30 (True,False,True,True), 31 (False,True,True,True), 32 (False,True,False,True),] 33 34args_dict = utils.args_to_dict(args) 35chameleon_args = hosts.CrosHost.get_chameleon_arguments(args_dict) 36 37def run(machine): 38 host = hosts.create_host(machine, chameleon_args=chameleon_args) 39 job.run_test("audio_AudioAfterSuspend", host=host, 40 golden_data=(audio_test_data.FREQUENCY_TEST_FILE, 4000), 41 bind_from=chameleon_audio_ids.CrosIds.HEADPHONE, 42 bind_to=chameleon_audio_ids.ChameleonIds.LINEIN, 43 audio_nodes=([audio_test_utils.get_headphone_node(host)], 44 None), 45 plug_status=plug_status, tag = "headphone.unplug") 46 47parallel_simple(run, machines) 48