# Copyright (c) 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_MemoryIntegrity.quick'
AUTHOR = 'puthik'
PURPOSE = 'Check memory integrity after long suspend'
TIME = 'FAST'
TEST_CLASS = 'hardware'
TEST_TYPE = 'server'
ATTRIBUTES = "suite:experimental"

DOC = """
This test call hardware_StorageFio to write data once to the ramfs and
then after suspend for 30 seconds, verify the integrity of that data.
"""

def run_hardware_MemoryIntegrity(machine):
    job.run_test('hardware_MemoryIntegrity', tag=NAME.split('.')[1],
                 client_ip=machine, seconds=30)

job.parallel_simple(run_hardware_MemoryIntegrity, machines)
