# 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.test'
METADATA = {
    'contacts': ['chromeos-storage@google.com'],
    'bug_component': 'b:974567',
    'criteria': 'Part of storage AVL qualification suite',
    'hw_agnostic': False
}
AUTHOR = 'grundler, gwendal, puthik'
PURPOSE = 'Test StorageStress code'
TIME = 'MEDIUM'
TEST_CLASS = 'hardware'
TEST_TYPE = 'server'
PY_VERSION = 3

DOC = """
This test calls hardware_StorageFio to write data once and repeatedly verifies
data in the storage for 5 minutes.

While the test is running, we can corrupt the SSD and check the test is
finding it with:

 dd if=/dev/zero of=<tested partition> bs=512k

"""

def run_hardware_storage_stress(machine):
    job.run_test('hardware_StorageStress', client_ip=machine, power_command='nothing',
                 gap=5, duration=300)

job.parallel_simple(run_hardware_storage_stress, machines)

