# 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)