1 # Copyright 2014 The Chromium OS Authors. All rights reserved. 2 # Use of this source code is governed by a BSD-style license that can be 3 # found in the LICENSE file. 4 5 NAME = 'hardware_StorageStress.stress' 6 AUTHOR = 'mohsinally' 7 PURPOSE = 'Run various storage stress tests' 8 ATTRIBUTES = "suite:stress4" 9 SUITE = "stress4" 10 TIME = 'LONG' 11 TEST_CLASS = 'stress' 12 TEST_TYPE = 'server' 13 14 DOC = """ 15 Variants of the test are run to simulate a number of scenarios while execising 16 device storage. 17 18 run_hardware_storage_stress_suspend: 19 This test calls hardware_StorageFio to write data once and repeatedly verifies 20 data in the storage for 20 minutes with machine suspended 1 minute between 21 each verify. 22 23 run_hardware_storage_stress: 24 This test calls hardware_StorageFio to write data once and repeatedly verifies 25 data in the storage for 5 minutes. 26 27 While the test is running, we can corrupt the SSD and check the test is 28 finding it with: 29 30 dd if=/dev/zero of=<tested partition> bs=512k 31 32 run_hardware_storage_reboot: 33 This test calls hardware_StorageFio to write data once and repeatedly verifies 34 data in the storage for 5 minutes with machine rebooted between each verify. 35 """ 36 37 def run_hardware_storage_stress_suspend(machine): 38 job.run_test('hardware_StorageStress', client_ip=machine, 39 power_command='suspend', suspend_duration=60, duration=1200, 40 tag='suspend') 41 42 def run_hardware_storage_stress(machine): 43 job.run_test('hardware_StorageStress', client_ip=machine, 44 power_command='nothing', gap=5, duration=300, tag='bare') 45 46 def run_hardware_storage_stress_reboot(machine): 47 job.run_test('hardware_StorageStress', client_ip=machine, 48 gap=5, duration=300, tag='reboot') 49 50 job.parallel_simple(run_hardware_storage_stress_suspend, machines) 51 job.parallel_simple(run_hardware_storage_stress, machines) 52 job.parallel_simple(run_hardware_storage_stress_reboot, machines) 53