# 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"
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.
"""
HOUR_IN_SECS=60*60
DAY_IN_SECS=24*HOUR_IN_SECS

SERVER_TESTS= [
    ('hardware_StorageQualBase', { 'tag': 'before', 'client_tag': 'before'}),
    ('hardware_StorageStress', {'duration': 7 * DAY_IN_SECS, 'tag': 'soak',
        'power_command': 'nothing', 'storage_test_command': 'full_write'}),
    ('hardware_StorageQualBase', { 'tag': 'after', 'client_tag': 'after'}),
]

def run_server_tests(machine):
    job.add_sysinfo_logfile('/var/log/storage_info.txt', on_every_test=True)
    for test, argv in SERVER_TESTS:
        job.run_test(test, client_ip=machine, **argv)

parallel_simple(run_server_tests, machines)
