# Copyright 2019 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_StorageSuspendStress.test_other'
METADATA = {
    'contacts': ['chromeos-storage@google.com'],
    'bug_component': 'b:974567',
    'criteria': 'Part of storage AVL qualification suite',
    'hw_agnostic': False
}
AUTHOR = 'The ChromiumOS Authors'
PURPOSE = 'Test StorageSuspendStress code on non root device'
TIME = 'MEDIUM'
TEST_CLASS = 'hardware'
TEST_TYPE = 'server'
PY_VERSION = 3
FAST = False

DOC = """
Test hardware_StorageSuspendStress section.
Run Fio while suspending aggressively.
"""

def run_hardware_storage_stress(machine):
    job.run_test('hardware_StorageQualSuspendStress', client_ip=machine, duration=3600,
    						      other_dev=True)

job.parallel_simple(run_hardware_storage_stress, machines)

