# Copyright 2015 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_AudioQualityAfterSuspend.headphone.m4a"
PURPOSE = "Remotely controlled headphone AFTER SUSPEND Chrome 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_unstable"
DEPENDENCIES = "chameleon, audio_board, test_audiojack"
JOB_RETRIES = 2

DOC = """
This test remotely tests headphone audio function against DUT after suspend.
"""

args_dict = utils.args_to_dict(args)
chameleon_args = hosts.CrosHost.get_chameleon_arguments(args_dict)
test_file = ('http://commondatastorage.googleapis.com/chromiumos-test-assets-'
             'public/audio_test/chameleon/Headphone/test_256_16.m4a')

def run(machine):
    host = hosts.create_host(machine, chameleon_args=chameleon_args)
    job.run_test("audio_AudioQualityAfterSuspend", host=host,
                 audio_test_data=audio_test_data.MEDIA_HEADPHONE_TEST_FILE,
                 lowpass_freq=4000,
                 test_playback_file=test_file,
                 bind_from=chameleon_audio_ids.CrosIds.HEADPHONE,
                 bind_to=chameleon_audio_ids.ChameleonIds.LINEIN,
                 audio_nodes=(['HEADPHONE'],[ 'MIC']), tag="headphone")

parallel_simple(run, machines)