Home | History | Annotate | Download | only in brillo_PlaybackAudioTest
      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.common_lib import utils
      6 from autotest_lib.server.brillo.feedback import client_factory
      7 
      8 AUTHOR = 'garnold, ralphnathan'
      9 NAME = 'brillo_PlaybackAudioTest.opensles.may'
     10 TIME = 'SHORT'
     11 TEST_CATEGORY = 'Functional'
     12 TEST_TYPE = 'Server'
     13 ATTRIBUTES = 'suite:brillo-audio'
     14 DEPENDENCIES = 'loopback-dongle'
     15 
     16 DOC = """
     17 Tests audio playback using OpenSL ES and a file on a Brillo device and different
     18 parameters.
     19 
     20 Test arguments:
     21 
     22     feedback=NAME  Name of the feedback client implementation to use. See
     23                    server.brillo.feedback.client_factory for supported values.
     24                    Default: 'loop'.
     25 
     26     feedback_args  Comma-separated list of initialization arguments for the
     27                    feedback client. Default: no additional arguments.
     28 """
     29 
     30 TEST_ARG_NAMES = ()
     31 args_dict = utils.args_to_dict(args)
     32 
     33 
     34 def run(machine):
     35     test_args = {name: args_dict[name] for name in TEST_ARG_NAMES
     36                  if name in args_dict}
     37     fb_client_name = args_dict.get('feedback', 'loop')
     38     fb_client = client_factory.get_audio_client(fb_client_name, NAME, machine,
     39                                                 args_dict.get('feedback_args'))
     40     job.run_test('brillo_PlaybackAudioTest',
     41                  tag=NAME.split('.', 1)[1],
     42                  host=hosts.create_host(machine),
     43                  fb_client=fb_client,
     44                  playback_method='opensles',
     45                  use_file='true',
     46                  sample_widths_arr=[1, 2],
     47                  sample_rates_arr=[16000, 22000, 44100, 48000, 96000],
     48                  num_channels_arr=[1, 2],
     49                  **test_args)
     50 
     51 
     52 parallel_simple(run, machines)
     53