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 8 9AUTHOR = 'garnold, ralphnathan' 10NAME = 'brillo_OpenSLESPlaybackAudioTest' 11TIME = 'SHORT' 12TEST_CATEGORY = 'Functional' 13TEST_TYPE = 'Server' 14ATTRIBUTES = 'suite:brillo-audio' 15SUITE = 'brillo-audio' 16 17DOC = """ 18Tests audio playback using OpenSL ES on a Brillo device. 19 20Test 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 30TEST_ARG_NAMES = () 31args_dict = utils.args_to_dict(args) 32 33 34def 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 host=hosts.create_host(machine), 42 fb_client=fb_client, 43 playback_method='opensles', 44 **test_args) 45 46 47parallel_simple(run, machines) 48