1# Copyright (c) 2014 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
5AUTHOR = "Chrome OS Team"
6NAME = "video_PowerConsumption.webrtc"
7TIME = "MEDIUM"
8TEST_CATEGORY = "Performance"
9TEST_CLASS = "video"
10ATTRIBUTES = "suite:bvt-perbuild, suite:crosbolt_perf_perbuild"
11TEST_TYPE = "server"
12DEPENDENCIES = "power:battery"
13BUG_TEMPLATE = {
14    "labels": ["OS-Chrome", "VideoTestFailure"],
15    "cc": ["chromeos-video-test-failures@google.com"],
16}
17
18DOC = """
19This test outputs the power consumption of WebRTC to the performance dashboard.
20The purpose is to watch the regression.
21"""
22
23import logging
24
25from autotest_lib.client.common_lib import error
26
27
28def _run_client_test(machine):
29    """Runs client test with battery actively discharging."""
30    client = hosts.create_host(machine)
31    if not client.has_power():
32        raise error.TestError("This test requires RPM support.")
33
34    try:
35        client.power_off()
36        client_at = autotest.Autotest(client)
37        client_at.run_test("video_WebRtcPerf",
38                           decode_time_test=False,
39                           cpu_test=False,
40                           power_test=True)
41    finally:
42        client.power_on()
43
44
45job.parallel_on_machines(_run_client_test, machines)
46