# Copyright 2013 The ChromiumOS Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

NAME = 'hardware_StorageStress.soak_test'
METADATA = {
    'contacts': ['chromeos-storage@google.com'],
    'bug_component': 'b:974567',
    'criteria': 'Part of storage AVL qualification suite',
    'hw_agnostic': False
}
AUTHOR = 'gwendal'
PURPOSE = 'Test hardware_StorageStress.soak code'
TIME = 'LENGTHY'
TEST_CLASS = 'hardware'
TEST_TYPE = 'server'
PY_VERSION = 3

DOC = """
Shorter version of control.soak, last only 1 hour:
"""

def run_hardware_storage_stress(machine):
    job.run_test('hardware_StorageStress', client_ip=machine, duration=3600,
                  power_command='wait', storage_test_command='full_write',
                  suspend_duration= 5 * 60)

job.parallel_simple(run_hardware_storage_stress, machines)

