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