• 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 = 'ralphnathan'
9NAME = 'brillo_RecordingAudioTest.opensles.may'
10TIME = 'SHORT'
11TEST_CATEGORY = 'Functional'
12TEST_TYPE = 'Server'
13ATTRIBUTES = 'suite:brillo-audio'
14DEPENDENCIES = 'loopback-dongle'
15
16DOC = """
17Tests audio recording 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_RecordingAudioTest',
40                 tag=NAME.split('.', 1)[1],
41                 host=hosts.create_host(machine),
42                 fb_client=fb_client,
43                 recording_method='opensles',
44                 use_file='true',
45                 sample_widths_arr=[1, 2],
46                 sample_rates_arr=[16000, 22000, 44100, 48000, 96000],
47                 num_channels_arr=[1, 2],
48                 **test_args)
49
50
51parallel_simple(run, machines)
52