44 lines
1.2 KiB
Python
Executable File
44 lines
1.2 KiB
Python
Executable File
# Copyright (c) 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.
|
|
|
|
from autotest_lib.server import autotest, test
|
|
|
|
|
|
class power_RPMTest(test.test):
|
|
"""Test RPM functionality."""
|
|
version = 1
|
|
|
|
|
|
def initialize(self, host, verify=True):
|
|
"""
|
|
@param host: The host to run the test on
|
|
@param verify: True to test both on and off for the AC power and to
|
|
check with the host whether it sees the same state
|
|
"""
|
|
self._host = host
|
|
self._host_at = autotest.Autotest(host)
|
|
self._verify = verify
|
|
|
|
|
|
def _set_power(self, power_on):
|
|
if power_on:
|
|
self._host.power_on()
|
|
else:
|
|
self._host.power_off()
|
|
|
|
if self._verify:
|
|
self._host_at.run_test('power_CheckAC', check_client_result=True,
|
|
power_on=power_on)
|
|
|
|
|
|
def run_once(self, power_sequence=[True]):
|
|
"""Run the test.i
|
|
|
|
@param power_sequence: Sequence of values to set the power state to in
|
|
order
|
|
"""
|
|
|
|
for val in power_sequence:
|
|
self._set_power(val)
|