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