blob: 3459a10aa883eb7159d908584af5fa7c0a7797df [file] [log] [blame] [edit]
# Copyright (c) 2011 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.
AUTHOR = "Chrome OS Team"
NAME = "power_LoadTest"
PURPOSE = "Measure power draw when system is under load."
CRITERIA = "This test is a benchmark."
TIME = "LONG"
TEST_CATEGORY = "Benchmark"
TEST_CLASS = "power"
TEST_TYPE = "client"
DOC = """
This test runs a load test consisting of cycling though web pages, playing
videos, etc. and measures battery power draw. The duration of this test is
determined by the seconds variable.
The following manual steps need to be performed on the device under test
before this test can be run:
- make sure that Ethernet cable is disconnected and WiFi is connected
- disconnect power cable
You are now ready to run the test.
"""
# TODO (bleung): Find a way to do automatic Facebook login for test account.
import time
loop_time = 3600
loop_count = 11
# To specify a list of custom tasks, pass in the task parameter:
# tasks='<task00>&<task01>+<task10>&<task11>+<task20>&<task21>+...'
#
# Use '+' to link together tasks sequentially, and '&' to indicate tasks that
# should be run in parallel.
# Task format:
# - Open a window with some tabs, keep them open for some time:
# window;<comma-delimited urls>;<duration>
# - Cycle through a list of sites one at a time, for a total duration, and a
# given delay on each site.
# cycle;<comma-delimited urls>;<duration>;<delay>
#
# Duration and delay are given in seconds. With sequential tasks, if
# task0.duration=1800 and task1.duration=1200, task0 will run for 30 minutes,
# followed by task1 for 20 minutes, for a total of 50 minutes.
#
# Example: Use the 'tasks' string below. Pass 'tasks=tasks' as an argument into
# job.run_test().
tasks='window;http://www.cnn.com,http://www.ebay.com,http://www.msn.com;900' + \
' & ' + \
'cycle;http://www.facebook.com,http://www.google.com,http://www.yahoo' + \
'.com;900;60 + ' + \
'window;http://www.bing.com,http://www.gmail.com,http://www.amazon.co' + \
'm,http://www.ask.com;600 + ' + \
'cycle;http://www.youtube.com,http://www.microsoft.com;900;240 + ' + \
'window;http://www.wikipedia.org;1200 & ' + \
'window;http://www.alexa.com,http://www.intel.com,http://www.apple.co' + \
'm;1200'
job.run_test('power_LoadTest', loop_time=loop_time, loop_count=loop_count,
low_battery_threshold=3)