xref: /aosp_15_r20/external/autotest/server/site_tests/audio_AudioAfterSuspend/control.headphone.unplug (revision 9c5db1993ded3edbeafc8092d69fe5de2ee02df7)
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 audio_test_utils
7from autotest_lib.client.cros.chameleon import chameleon_audio_ids
8from autotest_lib.server import utils
9
10AUTHOR = "chromeos-chameleon"
11NAME = "audio_AudioAfterSuspend.headphone.unplug"
12PURPOSE = "Remotely controlled headphone AFTER SUSPEND audio test."
13CRITERIA = "This test will fail if the captured audio does not match original file."
14TIME = "SHORT"
15TEST_CATEGORY = "Functional"
16TEST_CLASS = "audio"
17TEST_TYPE = "server"
18#ATTRIBUTES = "suite:chameleon_audio_unstable"
19DEPENDENCIES = "audio_box"
20JOB_RETRIES = 1
21PY_VERSION = 3
22
23DOC = """
24This test remotely tests headphone 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)
30plug_status = [(True,False,False,True),
31               (True,False,True,True),
32               (False,True,True,True),
33               (False,True,False,True),]
34
35args_dict = utils.args_to_dict(args)
36chameleon_args = hosts.CrosHost.get_chameleon_arguments(args_dict)
37
38def run(machine):
39    host = hosts.create_host(machine, chameleon_args=chameleon_args)
40    job.run_test("audio_AudioAfterSuspend", host=host,
41                 golden_data=(audio_test_data.FREQUENCY_TEST_FILE, 4000),
42                 bind_from=chameleon_audio_ids.CrosIds.HEADPHONE,
43                 bind_to=chameleon_audio_ids.ChameleonIds.LINEIN,
44                 audio_nodes=([audio_test_utils.get_headphone_node(host)],
45                              None),
46                 plug_status=plug_status, tag = "headphone.unplug")
47
48parallel_simple(run, machines)
49