
# Copyright (c) 2018 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.

# This control file was auto-generated by generate_storage_qual_control_files.py
# Do not edit this file!

from autotest_lib.client.common_lib import utils

AUTHOR = "Chrome OS Team"
NAME = "hardware_StorageStress_suspend_soak_14"
ATTRIBUTES = "suite:storage_qual"
PURPOSE = "hardware_StorageStress_suspend_soak_14"
TIME = "long"
TEST_CATEGORY = "Stress"
TEST_CLASS = "Hardware"
TEST_TYPE = "server"
REQUIRE_SSP = False
PRIORITY = 90
DEPENDENCIES = "suspend"
JOB_RETRIES = 0

DOC = "hardware_StorageStress_suspend_soak_14"

keyval = dict()
keyval['storage_qual_version'] = 1
keyval['bug_id'] = bug_id
keyval['part_id'] = part_id
utils.write_keyval(job.resultdir, keyval)

def run(machine):
    job.run_test("hardware_StorageStress", host=hosts.create_host(machine),
            client_ip=machine, storage_test_command='full_write', duration=14400, tag='soak', power_command='wait', suspend_duration=300)

parallel_simple(run, machines)
