# Copyright (c) 2016 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 = "chromeos-power"
NAME = "power_SuspendStress.bareDailySuspendToIdle"
ATTRIBUTES = "suite:power_daily"
PURPOSE = "Run repeated iterations of suspend/resume to find rare errors."
TIME = "MEDIUM"
TEST_CATEGORY = "Functional"
TEST_CLASS = "power"
TEST_TYPE = "client"

DOC = """
Runs 250 iterations (~30mins) of bare suspend/resume cycles without additional
workload. Forced to suspend to idle(S0ix). Follows this by a few short checks
to make sure the system is still in a good state (work in progress, feel free
to add some more).
"""

job.run_test('power_SuspendStress', duration=None, suspend_iterations=250,
             tag='bare', suspend_state='freeze')

job.run_test('hardware_EC', tag='power_SuspendStress')
job.run_test('login_LoginSuccess', tag='power_SuspendStress')
job.run_test('hardware_TPMCheck', tag='power_SuspendStress')
job.run_test('audio_Aplay', tag='power_SuspendStress')
