1# Lint as: python3 2# Copyright 2022 The Chromium OS Authors. All rights reserved. 3# Use of this source code is governed by a BSD-style license that can be 4# found in the LICENSE file. 5"""Wrapper test measures DUT power via servod with Servo devices.""" 6 7from autotest_lib.server.cros.power import power_base_wrapper 8from autotest_lib.server.cros.power import power_telemetry_logger 9 10 11class power_PacWrapper(power_base_wrapper.PowerBaseWrapper): 12 """Wrapper test around a client test. 13 14 This wrapper test runs 1 client test given by user, and measures DUT power 15 via servod with Servo devices. 16 """ 17 version = 1 18 19 def _get_power_telemetry_logger(self, host, config, resultsdir): 20 """Return powerlog telemetry logger. 21 22 @param host: CrosHost object representing the DUT. 23 @param config: the args argument from test_that in a dict. Settings for 24 power telemetry devices. 25 required data: 26 {'test': 'test_TestName.tag', 27 'servo_host': host of servod instance, 28 'servo_port: port that the servod instance is on} 29 @param resultsdir: path to directory where current autotest results are 30 stored, e.g. /tmp/test_that_results/ 31 results-1-test_TestName.tag/test_TestName.tag/ 32 results/ 33 """ 34 self._pacman_telemetry_logger = power_telemetry_logger.PacTelemetryLogger( 35 config, resultsdir, host) 36 return self._pacman_telemetry_logger 37 38 def postprocess(self): 39 self._pacman_telemetry_logger.output_pacman_aggregates(self) 40