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