# Copyright (c) 2012 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_StorageFio with performance constraints'
AUTHOR = 'The Chromium OS Authors'
PURPOSE = 'Benchmark storage performance using an unmounted root partition.'
CRITERIA = 'This test is a benchmark.'
SUITE = "hwqual"
TIME = 'MEDIUM'
TEST_CLASS = "hardware"
TEST_CATEGORY = 'Performance'
TEST_TYPE = 'client'

DOC = """
This test uses FIO to spawn a number of threads to perform a particular type of
I/O. This test will use block sizes of 4k, 8k, and 16k. It will also attempt
to simulate the disk traffic during a boot, login, and web surfing. It tests
both sequential and random data access.

NOTE: If autoupdate or another program accesses the spare root partition
while this test is running corruption may occur.
"""

job.run_test('hardware_StorageFio',
             constraints=[
                 'bytes_per_sec_seq_read >= 20 * 1024 * 1024',
                 'bytes_per_sec_seq_write >= 15 * 1024 * 1024',
                 'iops_4k_write >= 10',
             ])
