blob: 2463a514c6e9d0466360317ffea0965066ced284 [file] [log] [blame] [edit]
# Copyright 2014 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.
NAME = 'hardware_StorageStress.stress'
AUTHOR = 'mohsinally'
PURPOSE = 'Run various storage stress tests'
ATTRIBUTES = "suite:stress2"
TIME = 'LONG'
TEST_CLASS = 'stress'
TEST_TYPE = 'server'
DOC = """
Variants of the test are run to simulate a number of scenarios while execising
device storage.
run_hardware_storage_stress_suspend:
This test calls hardware_StorageFio to write data once and repeatedly verifies
data in the storage for 20 minutes with machine suspended 1 minute between
each verify.
run_hardware_storage_stress:
This test calls hardware_StorageFio to write data once and repeatedly verifies
data in the storage for 5 minutes.
While the test is running, we can corrupt the SSD and check the test is
finding it with:
dd if=/dev/zero of=<tested partition> bs=512k
run_hardware_storage_reboot:
This test calls hardware_StorageFio to write data once and repeatedly verifies
data in the storage for 5 minutes with machine rebooted between each verify.
"""
def run_hardware_storage_stress_suspend(machine):
job.run_test('hardware_StorageStress', client_ip=machine,
power_command='suspend', suspend_duration=60, duration=1200,
tag='suspend')
def run_hardware_storage_stress(machine):
job.run_test('hardware_StorageStress', client_ip=machine,
power_command='nothing', gap=5, duration=300, tag='bare')
def run_hardware_storage_stress_reboot(machine):
job.run_test('hardware_StorageStress', client_ip=machine,
gap=5, duration=300, tag='reboot')
job.parallel_simple(run_hardware_storage_stress_suspend, machines)
job.parallel_simple(run_hardware_storage_stress, machines)
job.parallel_simple(run_hardware_storage_stress_reboot, machines)