# Copyright (c) 2010 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.

TIME='LONG'
AUTHOR = 'The Chromium OS Authors'
PURPOSE = 'Stress test the ecryptfs home directory across power state changes.'
CRITERIA = 'This test is a stress test. Expected success, no crashes.'
DOC = """This test uses fio and a basic configuration to test and
validate writes to the ecryptfs vault. It does not create a login
session, but mounts a special user dir for the test.
"""
NAME = 'platform_CryptohomeFio.stress'
TEST_CLASS = 'platform'
TEST_CATEGORY = 'Stress'
TEST_TYPE = 'client'
ATTRIBUTES = "suite:bvt-perbuild"

RUNTIME=60  # seconds.

tests = {
    'surfing': 'iops',
    'boot': 'bw',
    'login': 'bw',
    'seq_read': 'bw',
    'seq_write': 'bw',
    '16k_read': 'iops',
    '16k_write': 'iops',
    '8k_read': 'iops',
    '8k_write': 'iops',
    '4k_read': 'iops',
    '4k_write': 'iops',
}

for test in tests.keys():
    job.run_test('platform_CryptohomeFio',
        script=test,
        tag=test,
        runtime=RUNTIME,
        disk_configs=['crypto', 'plain'])

