55 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
# 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.
 | 
						|
 | 
						|
NAME = "hardware_MultiReaderPowerConsumption"
 | 
						|
AUTHOR = "Vivia Nikolaidou <vivia.nikolaidou@collabora.co.uk>"
 | 
						|
PURPOSE = """Test card reader CPU power consumption to be within acceptable
 | 
						|
range while performing random r/w"""
 | 
						|
CRITERIA = """Fails if power consumption readings during heavy-duty random r/w
 | 
						|
fall outside predefined ranges"""
 | 
						|
TIME = "SHORT"
 | 
						|
TEST_CATEGORY = "Functional"
 | 
						|
TEST_CLASS = "hardware"
 | 
						|
TEST_TYPE = "client"
 | 
						|
 | 
						|
DOC = """
 | 
						|
This test runs a heavy-duty random read/write test, which is defined as
 | 
						|
running a `dd if=/dev/urandom` in parallel with a `tail -f`. The test is
 | 
						|
run three times: once on a ramdisk with the SD card mounted, once on the
 | 
						|
SD card with the ramdisk unmounted, and once on the ramdisk with the SD
 | 
						|
card unmounted. Power consumption is measured after each test and then
 | 
						|
reported. Preconditions:
 | 
						|
 | 
						|
1) User must not be logged on to the GUI
 | 
						|
2) An empty SD card must be inserted and formatted with a single mountable
 | 
						|
   partition
 | 
						|
3) No other usb storage devices must be inserted.
 | 
						|
 | 
						|
@param ramdisk_size: size of the ramdisk (integer in MiB).
 | 
						|
@param file_size: test file size (integer in MiB).
 | 
						|
@param ramdisk_path: path to the ramdisk mount point.
 | 
						|
@param fs_uuid: the UUID for the attached card. Use this parameter is
 | 
						|
       autodetection does not work as expected.
 | 
						|
@param drain_limit: maximum ratio between the card reader energy consumption
 | 
						|
       and each of the two ramdisk read/write test energy consumption values.
 | 
						|
       1.00 means the card reader test may not consume more energy than either
 | 
						|
       ramdisk test, 0.9 means it may consume no more than 90% of the ramdisk
 | 
						|
       value, and so forth. default is 1.05.
 | 
						|
"""
 | 
						|
 | 
						|
from autotest_lib.client.cros import storage as storage_mod
 | 
						|
 | 
						|
volume_filter, args_dict = storage_mod.args_to_storage_dict(args)
 | 
						|
ramdisk_size = int(args_dict.get("ramdisk_size", 513)) # MiB
 | 
						|
file_size = int(args_dict.get("file_size", 512)) # MiB
 | 
						|
drain_limit = float(args_dict.get("drain_limit", 1.05))
 | 
						|
if not volume_filter:
 | 
						|
    volume_filter = {"bus": "usb"}
 | 
						|
 | 
						|
job.run_test("hardware_MultiReaderPowerConsumption",
 | 
						|
             ramdisk_size=ramdisk_size,
 | 
						|
             file_size=file_size,
 | 
						|
             drain_limit=drain_limit,
 | 
						|
             volume_filter=volume_filter)
 |