quarchpy.disk_test package¶
Submodules¶
quarchpy.disk_test.AbsDiskFinder module¶
quarchpy.disk_test.DiskTargetSelection module¶
This contains useful functions to help with disk target selection
Ensure installation of wmi and pywin32
########### VERSION HISTORY ###########
13/08/2018 - Andy Norrie - First version, based on initial work from Pedro Leao
-
quarchpy.disk_test.DiskTargetSelection.
getDiskTargetSelection
(purpose='iometer')¶
quarchpy.disk_test.UserTestExample module¶
This example demonstrates the use of Quarch Drive Test Suite functions to create a set of tests
Tests can be run directly, or parsed from a CSV file
Test callbacks can be overridden by the user and modified to add additional functionality
########### VERSION HISTORY ###########
20/09/2018 - Andy Norrie - First Version
########### INSTRUCTIONS ###########
1- Run the script and follow the instructions on screen
-
quarchpy.disk_test.UserTestExample.
ExampleTests
()¶
-
quarchpy.disk_test.UserTestExample.
main
()¶ Setup the callback functions used by the tests, for logging and checking drive function This currently uses the standard provided functions, can cab be altered by the user
quarchpy.disk_test.driveTestConfig module¶
This file contains global setup variables and similar, required for use across multiple modules
########### VERSION HISTORY ###########
03/01/2019 - Andy Norrie - First Version
########### INSTRUCTIONS ###########
N/A
-
quarchpy.disk_test.driveTestConfig.
logDebugMessagesOnTerminal
= True¶ Settings for current GUI
-
quarchpy.disk_test.driveTestConfig.
testCallbacks
= {}¶ Holds the test resources that are created during ‘Setup’ operations to allow use of the resource during ‘Tests’. This is a dictionary in the form {nameString:Object} where the nameString is unique and the Object can be a string, quarchDevice or any similar object used as a resource during testing
-
quarchpy.disk_test.driveTestConfig.
testResources
= {}¶ Setting to specify the level of debug logging and display
quarchpy.disk_test.driveTestCore module¶
This file contains the core functions for the drive test suite. Functions are placed here for the core setup functions called during the init stage of a test (or CSV parsed test set)
########### VERSION HISTORY ###########
03/01/2019 - Andy Norrie - First Version
########### INSTRUCTIONS ###########
N/A
-
quarchpy.disk_test.driveTestCore.
ActivateRemoteServer
(portNumber=9742, localHost=False)¶
-
quarchpy.disk_test.driveTestCore.
DiskStatusCheck
(uniqueID, driveId, expectedState, checkLanes=True)¶
-
quarchpy.disk_test.driveTestCore.
attemptRestart
(conn, sock, reason=None)¶
-
quarchpy.disk_test.driveTestCore.
checkCompatibility
(comms)¶
-
quarchpy.disk_test.driveTestCore.
checkDriveState
(driveObject, deviceState, waitTime)¶
-
quarchpy.disk_test.driveTestCore.
chooseQuarchModule
(moduleName, ipAddressLookup=None)¶
-
quarchpy.disk_test.driveTestCore.
chooseQuarchModuleQPS
(moduleName, myQps=None)¶
-
quarchpy.disk_test.driveTestCore.
commandParser
(conn, sock, data)¶
-
quarchpy.disk_test.driveTestCore.
executeAndCheckCommand
(myDevice, command)¶
-
quarchpy.disk_test.driveTestCore.
executeCsvTestFile
(testCallbacks, filePath, delimitor='\t')¶
-
quarchpy.disk_test.driveTestCore.
getLocalIpAddress
(first=True)¶
-
quarchpy.disk_test.driveTestCore.
getTestResource
(resourceName)¶
-
quarchpy.disk_test.driveTestCore.
isUserAdmin
()¶
-
quarchpy.disk_test.driveTestCore.
main
(argstring)¶
-
quarchpy.disk_test.driveTestCore.
notifyTestLogEvent
(timeStamp, logType, logText, logSource, logDetails=None)¶
-
quarchpy.disk_test.driveTestCore.
notifyTestLogEventXml
(uniqueId, timeStamp, logType, logText, logSource, logDetails=None)¶
-
quarchpy.disk_test.driveTestCore.
powerOnDrive
(myQuarchDevice, outputMode=None)¶
-
quarchpy.disk_test.driveTestCore.
printProgressBar
(iteration, total)¶
-
quarchpy.disk_test.driveTestCore.
printToBackend
(text='')¶
-
quarchpy.disk_test.driveTestCore.
resetTestResources
()¶
-
quarchpy.disk_test.driveTestCore.
sendLogMessage
(logTime, messageType, messageText, messageSource, messageData=None, uId='')¶
-
quarchpy.disk_test.driveTestCore.
setTestResource
(resourceName, resourceValue)¶
-
quarchpy.disk_test.driveTestCore.
setUpLogging
(logLevel)¶
-
quarchpy.disk_test.driveTestCore.
specifyDriveById
(driveId, driveName)¶
-
quarchpy.disk_test.driveTestCore.
specifyQuarchModule
(moduleName, interFaceType='PY', powerOnDevice=True)¶
-
quarchpy.disk_test.driveTestCore.
storeResourceString
(resourceName, resourceValue)¶
-
quarchpy.disk_test.driveTestCore.
visualSleep
(delayTime)¶
quarchpy.disk_test.dtsComms module¶
-
class
quarchpy.disk_test.dtsComms.
DTSCommms
¶ Bases:
object
-
createXMLSelectionDrive
(key, values, driveType)¶
-
createXMLSelectionModule
(dict, dictValue, outputMode=None, itemType='Module')¶
-
getReturnPacket
(socket)¶
-
isVersionCompat
(data)¶
-
newNotifyChoiceOption
(type, dict, dictValue, moduleType=None, outputMode=None)¶
-
processTimeoutAndResult
(socket, timeToWait)¶
-
sendMsgToGUI
(toSend, timeToWait=5)¶
-
quarchpy.disk_test.dtsGlobals module¶
quarchpy.disk_test.hostInformation module¶
Implements a cross platform system for scanning and querying system resources.
########### VERSION HISTORY ###########
06/05/2019 - Andy Norrie - First version
-
class
quarchpy.disk_test.hostInformation.
HostInformation
¶ Bases:
object
-
checkAdmin
()¶
-
devicePresentInList
(deviceList, deviceStr)¶
-
getDriveList
(mappingMode)¶
-
getPcieLinkStatus
(deviceStr, mappingMode)¶
-
get_device_status
(device_id)¶
-
get_sas_drive_det_cmd
()¶
-
internalResults
= {}¶
-
isDevicePresent
(deviceStr, mappingMode, driveType)¶
-
list_physical_drives
(drive_type, search_params=None)¶
-
pickPcieTarget
(resourceName, drive_type)¶
-
sendChoiceObjects
(comms, deviceDict, drive_type)¶
-
storeInitialDriveStats
(driveId, linkSpeed, linkWidth)¶
-
verifyDriveStats
(uniqueID, driveId, mappingMode)¶
-
quarchpy.disk_test.hotPlugTest module¶
-
quarchpy.disk_test.hotPlugTest.
clearSourceBounce
(myDevice, sourceNumber)¶
-
quarchpy.disk_test.hotPlugTest.
setupSignalsToSource
(myDevice, signalList, sourceNumber)¶
-
quarchpy.disk_test.hotPlugTest.
setupSimpleHotplug
(myDevice, delayTime, stepCount)¶
-
quarchpy.disk_test.hotPlugTest.
setupSourceBounce
(myDevice, sourceNumber, bouncePattern)¶
-
quarchpy.disk_test.hotPlugTest.
simpleHotPlugBounceTest
(uniqueID, quarchName, driveName, insertTime, bouncePattern, bounceSignals, repeats=1, onTime=15, offTime=10, bounceOnPlug=True, bounceOnPull=False)¶
-
quarchpy.disk_test.hotPlugTest.
simpleHotPlugTest
(uniqueID, quarchName, driveName, insertTime, repeats=1, onTime=10, offTime=5)¶
-
quarchpy.disk_test.hotPlugTest.
stringTimeToInt
(timeStr, outputUnit)¶
-
quarchpy.disk_test.hotPlugTest.
unhIolHotPlugSimpleSweep
(quarchName, driveName, startTime, endTime, stepCount, repeats=1, onTime=10, offTime=5)¶
-
quarchpy.disk_test.hotPlugTest.
visualSleep
(delayTime)¶
quarchpy.disk_test.iometerDiskFinder module¶
quarchpy.disk_test.lspci module¶
Implements basic control over lspci utilities, so that we can identify and check the status of PCIe devices on the host system
-
class
quarchpy.disk_test.lspci.
LinuxLSPCI
¶ Bases:
quarchpy.disk_test.lspci.abstractLSPCI
-
getPcieDeviceDetailedInfo
(deviceInfo=None, devicesToScan='all')¶
-
getPcieDeviceInfo
()¶
-
getPcieDeviceList
()¶
-
getPcieDevices
(mappingMode, filterDrives=False)¶
-
getPcieLinkStatus
(deviceStr, mappingMode)¶
-
is_admin_mode
()¶
-
sortList
(err, out)¶
-
-
class
quarchpy.disk_test.lspci.
WindowsLSPCI
¶ Bases:
quarchpy.disk_test.lspci.abstractLSPCI
-
getPcieDeviceDetailedInfo
(deviceInfo=None, devicesToScan='all')¶
-
getPcieDeviceInfo
()¶
-
getPcieDeviceList
()¶
-
getPcieDevices
(mappingMode, filterDrives=False)¶
-
getPcieLinkStatus
(deviceStr, mappingMode)¶
-
is_admin_mode
()¶
-
quarchpy.disk_test.powerTest module¶
-
quarchpy.disk_test.powerTest.
SetupStreamAveraging
(quarchDevice, averagingRate)¶
-
quarchpy.disk_test.powerTest.
simplePowerMarginingTest
(uniqueID, quarchName, driveName, maxDecreasePercent, numberOfIncrements, repeats=1, onTime=15, offTime=10, averagingRate='16k')¶
quarchpy.disk_test.sasFuncs module¶
Implements basic SAS information parsing, so that we can identify and check the status of SAS/SATA devices on the host
-
class
quarchpy.disk_test.sasFuncs.
LinuxSAS
¶ Bases:
quarchpy.disk_test.sasFuncs.abstractSASDet
-
getDictKey
(iteratorValue)¶
-
getSasDeviceList
()¶
-
is_admin_mode
()¶
-
return_device_det_cmd
()¶
-
sortList
(err, out)¶
-