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