1f597b125ab4c29da5ad57d937eb247ffe2f7e757Gwendal Grignou# Copyright (c) 2013 The Chromium OS Authors. All rights reserved. 2f597b125ab4c29da5ad57d937eb247ffe2f7e757Gwendal Grignou# Use of this source code is governed by a BSD-style license that can be 3f597b125ab4c29da5ad57d937eb247ffe2f7e757Gwendal Grignou# found in the LICENSE file. 4f597b125ab4c29da5ad57d937eb247ffe2f7e757Gwendal Grignou 5f597b125ab4c29da5ad57d937eb247ffe2f7e757Gwendal Grignoufrom autotest_lib.server import autotest 6f597b125ab4c29da5ad57d937eb247ffe2f7e757Gwendal Grignoufrom autotest_lib.server import hosts 7f597b125ab4c29da5ad57d937eb247ffe2f7e757Gwendal Grignoufrom autotest_lib.server import test 8f597b125ab4c29da5ad57d937eb247ffe2f7e757Gwendal Grignou 9f597b125ab4c29da5ad57d937eb247ffe2f7e757Gwendal Grignou 10f597b125ab4c29da5ad57d937eb247ffe2f7e757Gwendal Grignouclass hardware_StorageQualSuspendStress(test.test): 11f597b125ab4c29da5ad57d937eb247ffe2f7e757Gwendal Grignou """ Run Fio while suspending aggressively.""" 12f597b125ab4c29da5ad57d937eb247ffe2f7e757Gwendal Grignou 13f597b125ab4c29da5ad57d937eb247ffe2f7e757Gwendal Grignou version = 1 14f597b125ab4c29da5ad57d937eb247ffe2f7e757Gwendal Grignou 15f597b125ab4c29da5ad57d937eb247ffe2f7e757Gwendal Grignou def run_once(self, client_ip, duration): 16f597b125ab4c29da5ad57d937eb247ffe2f7e757Gwendal Grignou client = hosts.create_host(client_ip) 17f597b125ab4c29da5ad57d937eb247ffe2f7e757Gwendal Grignou client_at = autotest.Autotest(client) 18f597b125ab4c29da5ad57d937eb247ffe2f7e757Gwendal Grignou control = """job.parallel( 19f597b125ab4c29da5ad57d937eb247ffe2f7e757Gwendal Grignou [lambda: job.run_test('power_SuspendStress', tag='disk', 2066b60604a10dc9ce9b4791e92152b93522306482Gwendal Grignou duration=%d, init_delay=10, min_suspend=7, min_resume=30, 213f8ee36e85e823634c8ddfb4710a2270c3548075Gwendal Grignou check_connection=True)], 2274b3a6bf37921a368c6a089caf1be8efda185b9eGwendal Grignou [lambda: job.run_test('hardware_StorageFio', test_length=%d, 23ae36712f888f6ba538eb4942e38ef2b8aaf6e6b4Gwendal Grignou disable_sysinfo=True, requirements=[('write_stress', [])], 2474b3a6bf37921a368c6a089caf1be8efda185b9eGwendal Grignou tag='qual_suspend')])""" % (duration, duration) 25f597b125ab4c29da5ad57d937eb247ffe2f7e757Gwendal Grignou client_at.run(control, '.', None) 26f597b125ab4c29da5ad57d937eb247ffe2f7e757Gwendal Grignou 27