# Copyright (c) 2014 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 = "gwendal"
NAME = "StorageQualSoak"
ATTRIBUTES = "suite:storage_qual_temp"
SUITE = "storage_qual_temp"
TIME = "LONG"
TEST_CATEGORY = "Stress"
TEST_CLASS = "suite"
TEST_TYPE = "server"

DOC = """
Sequence for testing the Storage Qual running from the fixed devices.
This tests stress the device for one week and measure performance.
"""
from autotest_lib.server import sequence


SERVER_SEQUENCES = [
    sequence.SequenceJob(
            'hardware_StorageQualBase',
            { 'tag': 'before', 'client_tag': 'before'}),
    sequence.SequenceJob(
            'hardware_StorageStress',
            {'tag': 'soak', 'power_command': 'nothing',
             'storage_test_command': 'full_write'},
            iteration=7 * sequence.DAY_IN_HOURS / 4,
            duration=4 * sequence.HOUR_IN_SECS),
    sequence.SequenceJob(
            'hardware_StorageQualBase',
            { 'tag': 'after', 'client_tag': 'after'}),
]

sequence.sequence_schedule(job, machines, SERVER_SEQUENCES)
