# Copyright 2014 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

AUTHOR = "rohitbm@chromium.org"
NAME = "audio_ActiveStreamStress"
PURPOSE = "Verifies active audio streams"
CRITERIA = """
Test will fail if cras active stream count doesn't match to open active streams.
"""
# TODO(paulhsia): Add this test to an appropriate suite.
TIME = "MEDIUM"
TEST_CATEGORY = "General"
TEST_CLASS = "audio"
TEST_TYPE = "client"

BUG_TEMPLATE = {
    'owner': 'rohitbm@chromium.org',
    'labels': ['OS-Chrome'],
    'components': ['OS>Kernel>Video'],
}

DOC = """
Test opens/closes audio streams and verifies active stream.

This is a stress test to ensure that cras works flawlessly while adding/removing
streams for a long time.
"""

job.run_test('audio_ActiveStreamStress')
