| # Copyright 2016 The Chromium OS Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| from autotest_lib.client.cros.audio import audio_test_data |
| from autotest_lib.client.cros.chameleon import chameleon_audio_ids |
| from autotest_lib.server import utils |
| |
| AUTHOR = "chromeos-chameleon" |
| NAME = "audio_AudioAfterSuspend.internal_speaker.plug" |
| PURPOSE = "Remotely controlled internal_speaker AFTER SUSPEND audio test." |
| CRITERIA = "This test will fail if the captured audio does not match original file." |
| TIME = "SHORT" |
| TEST_CATEGORY = "Functional" |
| TEST_CLASS = "audio" |
| TEST_TYPE = "server" |
| ATTRIBUTES = "suite:chameleon_audio_nightly, suite:chameleon_audio" |
| DEPENDENCIES = "chameleon, audio_board, audio_box" |
| JOB_RETRIES = 2 |
| |
| DOC = """ |
| This test remotely tests internal_speaker audio function against DUT after suspend. |
| """ |
| # Plug unplug sequnce |
| # (plugged_before_suspend, plugged_after_suspend, plugged_before_resume, |
| # plugged_after_resume) |
| plug_status = [(False,True,True,False), |
| (False,True,False,False), |
| (True,False,False,False), |
| (True,False,True,False),] |
| |
| args_dict = utils.args_to_dict(args) |
| chameleon_args = hosts.CrosHost.get_chameleon_arguments(args_dict) |
| |
| def run(machine): |
| host = hosts.create_host(machine, chameleon_args=chameleon_args) |
| job.run_test("audio_AudioAfterSuspend", host=host, |
| golden_data=(audio_test_data.SIMPLE_FREQUENCY_SPEAKER_TEST_FILE, 1000), |
| recorder=chameleon_audio_ids.ChameleonIds.MIC, |
| source=chameleon_audio_ids.CrosIds.SPEAKER, |
| audio_nodes=(['INTERNAL_SPEAKER'], ['INTERNAL_MIC']), |
| plug_status=plug_status, tag = "internal_speaker.plug") |
| |
| parallel_simple(run, machines) |