# Copyright (c) 2012 Collabora Ltd. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. from autotest_lib.client.cros import storage as storage_mod NAME = "hardware_Usb30Throughput" AUTHOR = "Cosimo Alfarano " PURPOSE = "Check that there are no transfer speed downgrade after suspend." CRITERIA = "Fails if transfer rate is below expectations" TIME="SHORT" TEST_CATEGORY = "Functional" TEST_CLASS = "hardware" TEST_TYPE = "client" DOC = """Measure transfer rates for a number of times. If any of the transfer rate is below expectation the test fails. This test need a high-speed USB 3.0 device connected, with a mountable file system on a single partition. No user should be logged in via GUI to avoid automounter interfere with the test. @param measurements: (10) number of times to repeat xfer rate measureaments @param size: (10Mb) the size of the file to transfer for each |measureaments| @param fs_uuid: UUID for USB storage define volume, if auto detection does not work. @param min_speed: (300Mb/sec) a float number for the minimum speed accepted. Any |measureaments| performing below it will make the test fail """ storage_filter, args_dict = storage_mod.args_to_storage_dict(args) if not storage_filter: storage_filter = {'bus': 'usb'} measurements = int(args_dict.get('measurements', 10)) size = int(args_dict.get('size', 10)) min_speed = float(args_dict.get('min_speed', 300)) job.run_test('hardware_Usb30Throughput', storage_filter=storage_filter, measurements=measurements, size=size, min_speed=min_speed)