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