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 5 from autotest_lib.client.cros.audio import audio_test_data 6 from autotest_lib.client.cros.chameleon import chameleon_audio_ids 7 from autotest_lib.server import utils 8 9 AUTHOR = "chromeos-chameleon" 10 NAME = "audio_AudioAfterSuspend.external_mic.unplug" 11 PURPOSE = "Remotely controlled external_mic AFTER SUSPEND audio test." 12 CRITERIA = "This test will fail if the captured audio does not match original file." 13 TIME = "SHORT" 14 TEST_CATEGORY = "Functional" 15 TEST_CLASS = "audio" 16 TEST_TYPE = "server" 17 ATTRIBUTES = "suite:chameleon_audio_unstable" 18 DEPENDENCIES = "chameleon, audio_board, audio_box, test_audiojack" 19 JOB_RETRIES = 2 20 21 DOC = """ 22 This test remotely tests external_mic audio function against DUT after suspend. 23 """ 24 25 # Plug unplug sequnce 26 # (plugged_before_suspend, plugged_after_suspend, plugged_before_resume, 27 # plugged_after_resume) 28 plug_status = [(True,False,False,True), 29 (True,False,True,True), 30 (False,True,True,True), 31 (False,True,False,True),] 32 33 args_dict = utils.args_to_dict(args) 34 chameleon_args = hosts.CrosHost.get_chameleon_arguments(args_dict) 35 36 def run(machine): 37 host = hosts.create_host(machine, chameleon_args=chameleon_args) 38 job.run_test("audio_AudioAfterSuspend", host=host, 39 golden_data=(audio_test_data.SIMPLE_FREQUENCY_TEST_FILE, 2000), 40 bind_from=chameleon_audio_ids.ChameleonIds.LINEOUT, 41 bind_to=chameleon_audio_ids.CrosIds.EXTERNAL_MIC, 42 audio_nodes=(None, ['MIC']), 43 plug_status=plug_status, tag = "external_mic.unplug") 44 45 parallel_simple(run, machines) 46