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¶
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.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.DiskStatusCheck(driveId, expectedState, check_lanes=True, mapping_mode=None)¶
-
class
quarchpy.disk_test.driveTestCore.QuarchComplianceSuite(port_number=9742)¶ Bases:
object-
activate_remote_server()¶
-
attempt_restart(reason=None)¶
-
bind_socket_tls()¶
-
commandParser(data)¶
-
compile_test(sub_elem)¶
-
parse_request(xml_tree)¶
-
setup_mdns_server()¶
-
show_server_Status(status, action)¶
-
-
quarchpy.disk_test.driveTestCore.checkDriveState(driveObject, deviceState, waitTime)¶
-
quarchpy.disk_test.driveTestCore.check_compatibility()¶
-
quarchpy.disk_test.driveTestCore.check_programs_status()¶
-
quarchpy.disk_test.driveTestCore.check_qis_open(qps_instance, timeout=5000)¶
-
quarchpy.disk_test.driveTestCore.check_qps_open(timeout=5000)¶
-
quarchpy.disk_test.driveTestCore.chooseQuarchModule(module_name, module_type=None, ip_address_lookup=None, scan_dictionary=None)¶
-
quarchpy.disk_test.driveTestCore.chooseQuarchModuleQPS(moduleName, myQps=None)¶
-
quarchpy.disk_test.driveTestCore.disable_quickedit()¶ Enable or disable quick edit mode to prevent system hangs, sometimes when using remote desktop Param (Enabled) enabled = 1(default), enable quick edit mode in python console enabled = 0, disable quick edit mode in python console
-
quarchpy.disk_test.driveTestCore.executeAndCheckCommand(myDevice, command)¶
-
quarchpy.disk_test.driveTestCore.getLocalIpAddress(first=True)¶
-
quarchpy.disk_test.driveTestCore.get_module_from_choice(connection, report_dict, return_val, is_qps=False)¶
-
quarchpy.disk_test.driveTestCore.get_quarch_modules_qps()¶
-
quarchpy.disk_test.driveTestCore.is_tool(name)¶ Check whether name is on PATH.
-
quarchpy.disk_test.driveTestCore.main(argstring)¶
-
quarchpy.disk_test.driveTestCore.printProgressBar(iteration, total)¶
-
quarchpy.disk_test.driveTestCore.printToBackend(text='')¶
-
quarchpy.disk_test.driveTestCore.resetTestResources()¶
-
quarchpy.disk_test.driveTestCore.sendMsgToGUI(toSend, timeToWait=5)¶
-
quarchpy.disk_test.driveTestCore.setRunUntilFirstTestFailure()¶
-
quarchpy.disk_test.driveTestCore.setUpLogging(log_level)¶
-
quarchpy.disk_test.driveTestCore.specifyQuarchModule(moduleName, interFaceType='PY', powerOnDevice=True, return_val=False, module_type='all', report_dict=[])¶
-
quarchpy.disk_test.driveTestCore.update_progress_bars(completion_value, is_document_mode)¶
quarchpy.disk_test.dtsComms module¶
-
class
quarchpy.disk_test.dtsComms.DTSCommms¶ Bases:
object-
add_report_item(dictionary, tree_tag, output_mode=None)¶
-
add_xml_drive(device, tree_tag)¶
-
add_xml_quarch_module(dict_key, dict_value, tree_tag, output_mode=None)¶
-
comms_send(toSend, timeToWait=5)¶
-
create_request_function(function_call, function_value=None, requires_response=True)¶
-
create_request_gui(title, description, window_type, window_mode='PY', dict_of_modules=None, dict_of_drives=None, report_dict=None)¶
-
create_request_log(logTime, messageType, messageText, messageSource, messageData=None, test_result=None, uId='', group=None, sub_group=None)¶
-
create_request_poll(poll_type=None)¶
-
create_request_root(root_tag, request_type, response_required=True)¶
-
create_request_status(number_of_test_points=None, add_test_points=None, completion_value=None)¶
-
create_request_variable(custom_variable_list, root_tag=None)¶
-
create_response(function_complete=False, function_type=None)¶
-
getReturnPacket(socket, message_sent='')¶
-
isVersionCompat(version_number)¶
-
notifyTestLogEventXml(tree_tag, unique_id, timeStamp, logType, logText, logSource, test_result=None, log_details=None, group=None, sub_group=None)¶
-
parse_response(xml_tree, original_data)¶
-
processTimeoutAndResult(socket, timeToWait, message_sent='')¶
-
sendMsgToGUI(to_send, timeToWait=5)¶
-
sendMsgToGUIwithResponse(to_send, timeToWait=5)¶
-
send_item_to_java(s, to_send)¶
-
send_start_timeout()¶
-
send_stop_test(reason='')¶
-
send_stop_timeout()¶
-
quarchpy.disk_test.dtsGlobals module¶
-
class
quarchpy.disk_test.dtsGlobals.dtsGlobals¶ Bases:
object-
GUI_TCP_IP= '127.0.0.1'¶
-
QCSVersionValid= False¶
-
choiceResponse= None¶
-
continueTest= True¶
-
guiAddress= 'localhost'¶
-
guiPort= 9921¶
-
minQCSVersion= '1.07'¶
-
qcs_dir= None¶
-
runUntilFirstFailure= False¶
-
send_to_gui= True¶
-
validVersion= True¶
-
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-
display_drives()¶ Function used only in the Quarchpy.run file Used to display all found drives on the system to current terminal output
- Returns
N/A
-
get_wrapped_drive_from_choice(selection)¶ Returns DriveWrapper object based on identifying string passed in parameter
- Parameters
selection – STR # selection passed is the identifier for the drive. # Smartctl : /dev/sda # lspci : 04:00.0 # WMIC : # LSSCSI :
- Returns
DriveWrapper if device was found, else None
-
internalResults= {}¶
-
is_wrapped_device_present(wrapped_device)¶
-
return_wrapped_drive_link(wrapped_drive)¶ Finds drive passed and returns it’s current link speed LSPCI devices only
- Parameters
wrapped_drive – DriveWrapper
- Returns
Link speed value if found else “”
-
return_wrapped_drive_width(wrapped_drive)¶ Find drive passed and return it’s current reported lane width LSPCI devices only
- Parameters
wrapped_drive – DriveWrapper
- Returns
Lane width if found else “”
-
return_wrapped_drives(drive_type=None)¶ Returns a list of all drives found on the system The drives are all contained in “DriveWrapper” objects
- Parameters
drive_type –
- STRCan be used to specify the type of drive.
Leave as None will return all
Accepted Values : [ ‘lspci’, ‘*’, ‘smart’ ]
- Returns
List : DriveWrapper objects
-
store_initial_drive_stats(drive, mapping_mode=False)¶
-
verify_wrapped_drive_link(wrapped_drive, expected_link=None)¶ find drive passed and returns boolean if Link speed is same as expected value passed LSPCI devices only
- Parameters
wrapped_drive – DriveWrapper
expected_link – Expected speed (e.g ‘16 GT/s’)
- Returns
True if maintained else False
-
verify_wrapped_drive_width(wrapped_drive, expected_width=None)¶ find drive passed and returns boolean if lane width is same as expected value passed LSPCI devices only
- Parameters
wrapped_drive – DriveWrapper
expected_width – Expected width (e.g ‘x2’)
- Returns
True if maintained else False
-
quarchpy.disk_test.hotPlugTest module¶
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.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-
add_device_types(device_list)¶
-
getDictKey(iteratorValue)¶
-
getSasDeviceList()¶
-
is_admin_mode()¶
-
return_device_det_cmd()¶
-
sortList(err, out)¶
-
wrap_sas_devices()¶
-