blob: df7a9a81209548fc10f4dd32d637e915af237b91 [file] [log] [blame]
# Copyright (c) 2013 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.
from autotest_lib.client.bin import utils
from autotest_lib.client.common_lib import error
from autotest_lib.server import autotest
from autotest_lib.server import hosts
from autotest_lib.server import test
class hardware_StorageQualSuspendStress(test.test):
""" Run Fio while suspending aggressively."""
version = 1
def run_once(self, client_ip, duration, other_dev=False):
client = hosts.create_host(client_ip)
client_at = autotest.Autotest(client)
timeout = int(duration * 1.5)
fio_test = "hardware_StorageFio"
if other_dev:
fio_test = "hardware_StorageFioOther"
control = """job.parallel(
[lambda: job.run_test('power_SuspendStress', tag='disk',
duration=%d, init_delay=10, min_suspend=7, min_resume=30,
check_connection=True)],
[lambda: job.run_test('%s', test_length=%d,
disable_sysinfo=True, requirements=[('write_stress', [])],
tag='qual_suspend')], timeout=%d)""" % \
(duration, fio_test, duration, timeout)
client_at.run(control, '.', None)
client_at.run_test(fio_test, wait=60, disable_sysinfo=True,
blkdiscard=False,
requirements=[('write_stress', ['v'])],
tag='qual_verify')