
# Copyright 2020 The ChromiumOS Authors
# 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 = "chromeos-storage"
NAME = "hardware_StorageQualSuspendStress_storage_qual_external_suspend_0"
METADATA = {
    "contacts": ["chromeos-storage@google.com"],
    "bug_component": "b:974567",
    "criteria": "Part of storage AVL qualification suite",
    "hw_agnostic": False
}
ATTRIBUTES = "suite:storage_qual_external"
PURPOSE = "hardware_StorageQualSuspendStress_storage_qual_external_suspend_0"
TIME = "long"
TEST_CATEGORY = "Stress"
TEST_CLASS = "Hardware"
TEST_TYPE = "server"
PY_VERSION = 3
REQUIRE_SSP = True
PRIORITY = 80
DEPENDENCIES = "storage_qual_external"
JOB_RETRIES = 0
FAST = False

DOC = "hardware_StorageQualSuspendStress_storage_qual_external_suspend_0"

keyval = dict()
keyval['storage_qual_version'] = 1
try:
    keyval['bug_id'] = bug_id
    keyval['part_id'] = part_id
except NameError:
    # bug_id and/or part_id variables not defined
    pass
utils.write_keyval(job.resultdir, keyval)

def run(machine):
    job.run_test("hardware_StorageQualSuspendStress", host=hosts.create_host(machine),
            client_ip=machine, tag='suspend', duration=14400, other_dev=True)

parallel_simple(run, machines)
