# 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'

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'])

