| # Copyright (c) 2012 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. |
| import re |
| |
| AUTHOR = "Chrome OS Team" |
| NAME = "power_Standby" |
| TIME = "LONG" |
| TEST_CATEGORY = "Benchmark" |
| TEST_CLASS = "power" |
| TEST_TYPE = "client" |
| |
| DOC = """ |
| This test measures the power draw during standby (S3). |
| |
| Test uses RTC wake to transistion from S3 to S0 every sample_hours for a total |
| standby time of test_hours. The S3->S0 transistions are added to |
| 1. Validate battery use |
| 2. Guarantee that S3 was maintained (no external/false wake) |
| 3. Create S3->S0->S3 transistions which more closely model user's interaction. |
| |
| Arguments: |
| sample_hours: float, number of hours between charge use samples. |
| test_hours: float, the number of hours to run the test. |
| |
| Test must meet the following criteria: |
| Battery must contain ~20% of its charge. |
| Must be run on battery power |
| sample_hours > 0.1 |
| test_hours > sample_hours |
| """ |
| |
| opts = {} |
| sample_hours = 1.0 |
| test_hours = 12.0 |
| max_milliwatts_standby = 500.0 |
| |
| for arg in args: |
| match = re.search("^(\w+)=(.+)", arg) |
| if match: |
| opts[match.group(1)] = match.group(2) |
| |
| if 'test_hours' in opts: |
| test_hours = float(opts['test_hours']) |
| |
| if 'sample_hours' in opts: |
| sample_hours = float(opts['sample_hours']) |
| |
| |
| constraints = [] |
| constraints.append("milliwatts_standby_power <= %.2f" % max_milliwatts_standby) |
| |
| job.run_test('power_Standby', sample_hours=sample_hours, test_hours=test_hours, |
| constraints=constraints, |
| max_milliwatts_standby=max_milliwatts_standby) |