# Copyright (c) 2010 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_Draw.Aquarium"
PURPOSE = "Stress system similar to Factory Run-in."
CRITERIA = "This test is a benchmark."
TIME = "MEDIUM"
TEST_CATEGORY = "Functional"
TEST_CLASS = "power"
TEST_TYPE = "client"

DOC = """
This test will run for 3600 seconds by default.

This test tries to emulate the factory Run-In test workload in order to
(more) easily replicate issues that might happen in the factory test.
"""

tag = 'PowerDraw'
seconds = 3600


def run_power_draw():
    job.run_test('power_Draw', seconds=seconds, tag=tag)


# wait 20 seconds to give WebGLAquarium a chance to get started.
# Aquarium wants to see idle CPU before it will start.
# And if the CPU is too hot, it will sleep for 60 seconds.
def run_sat():
    job.run_test('hardware_SAT', seconds=seconds, wait_secs=120,
                 free_memory_fraction=0.80, tag=tag)


def run_aquarium():
    job.run_test('graphics_WebGLAquarium', test_duration_secs=seconds,
                 test_setting_num_fishes=(1000,), ac_ok=True,
                 tag=tag)


job.parallel([run_power_draw], [run_sat], [run_aquarium])