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