# Basic power on test.
-i Verify_Application_Services_Running_At_Standby
-i Check_For_Application_Failures
-i Test_SSH_And_IPMI_Connections
# IPMI test.
-i IPMI_Chassis_Restore_Power_Policy
-i Verify_Host_PowerOn_Via_IPMI
-i Verify_Host_PowerOff_Via_IPMI
-i Test_FRU_Info_At_Power_On
-i Test_IPMI_Warm_Reset
-i Test_CPU_Core_SDR_Info_At_Power_On
-i Test_DIMM_SDR_Info_At_Power_On
-i Test_GPU_SDR_Info_At_Power_On
-i Test_Turbo_Allowed_SDR_Info
-i Test_Auto_Reboot_SDR_Info
-i Test_TPM_Enable_SDR_Info
-i DIMM_Present_And_Not_Present
-i Set_SOL_Disabled
-i Verify_SOL_During_Boot
-i Set_Valid_SOL_Retry_Count
-i Verify_IPMI_SEL_Version
-i Verify_Empty_SEL
-i Verify_Supported_Cipher_List
-i Verify_Unsupported_Cipher_List
-i Set_Asset_Tag_With_Valid_String_Length
-i Verify_Get_And_Set_Management_Controller_ID_String
-i Test_Management_Controller_ID_String_Status_via_IPMI
-i Verify_Chassis_Identify_via_IPMI
-i Test_Watchdog_Reset_Via_IPMI_And_Verify_Using_REST
-i Test_Ambient_Temperature_Via_IPMI
-i Verify_Get_DCMI_Capabilities
-i Test_Power_Reading_Via_IPMI_With_Host_Booted
-i Retrieve_IP_Address_Via_IPMI_And_Verify_With_BMC_Details
-i Verify_Get_Device_ID
-i Verify_SDR_Info
-i Verify_Supported_Cipher_List
-i Verify_Unsupported_Cipher_List
-i Verify_Supported_Cipher_List_Via_Lan_Print
-i Verify_Supported_Cipher_Via_Getciphers
-i Verify_Disabling_And_Enabling_IPMI_Via_Host
# Device tree.
-i Check_BMC_Model_Property_Is_Set
-i Check_BMC_Compatible_Property_Is_Set
-i Check_BMC_CPU_Name_Property_Is_Set
-i Check_BMC_CPU_Compatible_Property_Is_Set
-i Check_BMC_GPIO_FSI_Name_Property_Is_Set
-i Check_BMC_GPIO_FSI_Compatible_Property_Is_Set
-i Check_BMC_GPIO_keys_Name_Property_Is_Set
-i Check_BMC_GPIO_keys_Compatible_Property_Is_Set
-i Check_BMC_IIO-HWMON_Name_Property_Is_Set
-i Check_BMC_IIO-HWMON_Compatible_Property_Is_Set
-i Check_BMC_LED_Name_Property_Is_Set
-i Check_BMC_LED_Compatible_Property_Is_Set
# BMC Dump.
-i Verify_User_Initiated_Dump_Size
-i Verify_Core_Dump_Size
-i Delete_All_BMC_Dumps_And_Verify
-i Verify_Dump_Persistency_On_Reset
# BMC File Mirroring.
-i Test_BMC_Alt_Side_Mirroring
# BMC boot and device policies.
-i Set_The_Boot_Source_As_Disk_Using_REST_API
-i Set_The_Boot_Source_As_CDROM_Using_Ipmitool
-i Set_The_Boot_Mode_As_Setup_Using_REST_API
-i Set_The_Boot_Mode_As_Safe_Using_Ipmitool
-i Set_Boot_Policy_To_PERMANENT_via_REST
-i Set_Boot_Policy_To_ONETIME_via_IPMITOOL
-i Test_Boot_Order_via_REST
# Hardware Sensors.
-i Verify_System_Ambient_Temperature
-i Verify_Fan_Sensor_Attributes
-i Verify_PCIE_Sensor_Attributes
-i Verify_Rail_Voltage_Sensor_Attributes
-i Verify_VDN_Temperature_Sensors_Attributes
-i Verify_VCS_Temperature_Sensors_Attributes
-i Verify_VDD_Temperature_Sensors_Attributes
-i Verify_VDDR_Temperature_Sensors_Attributes
-i Verify_Power_Redundancy_Using_REST
-i Verify_Power_Redundancy_Using_IPMI
# System Inventory.
-i Verify_System_Inventory_Path
-i Verify_Boxelder_Present_Property
-i Verify_UUID_Entry
-i Verify_Boxelder_MAC_Address_Property_Is_Populated
-i Verify_Chassis_Motherboard_Properties
-i Verify_CPU_Present
-i Verify_DIMM_Present
-i Verify_FRU_Properties
-i Verify_GPU_Properties
-i Verify_Core_Properties
-i Verify_Fan_Properties
-i Verify_Core_Functional_State
-i Verify_DIMM_Functional_State
-i Verify_Fan_Functional_State
-i Verify_CPU_Functional_State
-i Verify_GPU_Functional_State
-i Check_Air_Or_Water_Cooled
-i Verify_Minimal_CPU_Inventory
-i Verify_Minimal_DIMM_Inventory
-i Verify_Minimal_Core_Inventory
-i Verify_Minimal_Fan_Inventory
-i Verify_Minimal_Power_Supply_Inventory
# LED
-i Verify_Rear_Power_LED_With_Host_Power_Off
-i Verify_Rear_Power_LED_With_Host_Power_On
# OCC and reset reload.
-i Verify_OCC_State_After_BMC_Reset
# Power Restory policy.
-i Test_Restore_Policy_ALWAYS_POWER_OFF_With_Host_Off
# REST Test.
-i REST_Login_Session_To_BMC
-i REST_Logout_Session_To_BMC
-i REST_Delete_All_Sessions_And_Expect_Error
-i Multiple_Requests_On_BMC_Using_Single_REST_Session
-i Verify_REST_JSON_Data_On_Success
-i Verify_REST_JSON_Data_On_Failure
-i Verify_REST_Get_Message_JSON_Compliant
-i Verify_REST_Post_Message_JSON_Compliant
-i Verify_REST_Bad_Request_Post_Message_JSON_Compliant
-i REST_Put_Message_JSON_Format_Compliance_Test
-i Check_Response_Codes_415
-i Get_Response_Codes
-i Get_Data
-i Get_Data_Validation
-i Put_Response_Codes
-i Put_Data_Validation
-i Post_Response_Codes
-i Delete_Response_Codes
-i Verify_All_REST_Objects_Are_Accessible
# Soft boot sensors.
-i Verify_Boot_Sensor_States_At_Host_Booted
# Software manager.
-i Verify_Software_Purpose
-i BMC_Software_Hex_ID
-i BMC_Software_Version
-i BMC_Software_Path
-i BMC_Software_RequestedActivation
-i BMC_Software_Activation_Association
-i Host_Software_Hex_ID
-i Host_Software_Version
-i Host_Software_Path
-i BMC_Software_RequestedActivation
-i Host_Software_Activation_Association
# Time.
-i Get_System_Time
-i Set_Valid_System_Time
-i Set_BMC_Time_With_BMC_And_Manual
-i Set_BMC_Time_With_Both_And_Manual
-i Set_BMC_Time_With_Split_And_Manual
-i Set_Host_Time_With_Host_And_Manual
-i Set_Host_Time_With_Both_And_Manual
-i Set_Host_Time_With_Split_And_Manual
-i Set_Host_Time_With_Split_And_NTP
# Logging and SEL.
-i Verify_eSEL_Using_REST
-i Verify_eSEL_Entries_Using_REST
-i Verify_eSEL_Description_And_EntryID_Using_REST
-i Check_eSEL_AdditionalData
-i Create_Test_Error_And_Verify
-i Test_Error_Persistency_On_Restart
-i Test_Error_Entry_Numbering_Reset_On_Restart
-i Create_Test_Error_And_Verify_Resolved_Field
-i Create_Test_Error_And_Verify_Time_Stamp
-i Create_Test_Error_Log_And_Delete
-i Verify_IPMI_SEL_Delete
-i Verify_IPMI_SEL_Entries
-i Verify_IPMI_SEL_Last_Add_Time
-i Create_Test_Error_Callout_And_Verify_AdditionalData
-i Create_Test_Error_Callout_And_Verify_Associations
-i Create_Test_Error_Callout_And_Verify_LED
-i Set_Resolved_Field_And_Verify_Callout_Deletion
# Network
-i Get_BMC_IPv4_Address_And_Verify
-i Verify_IPv4_Prefix_Length
-i Verify_Gateway_Address
-i Verify_MAC_Address
-i Add_New_Valid_IP_And_Verify
-i Add_New_Valid_IP_With_Blank_Gateway
-i Add_Fourth_Octet_Threshold_IP_And_Verify
-i Add_Third_Octet_Threshold_IP_And_Verify
-i Add_Second_Octet_Threshold_IP_And_Verify
-i Add_First_Octet_Threshold_IP_And_Verify
-i Configure_Lowest_Prefix_Length
-i Configure_Threshold_Prefix_Length
-i Verify_Default_Gateway.
-i Verify_Hostname
-i Run_IPMI_With_Multiple_IPs_Configured
-i Configure_Invalid_IP_String
-i Configure_Out_Of_Range_IP
-i Configure_Out_Of_Range_Prefix_Length
-i Configure_String_Value_For_Prefix_Length`
-i Configure_Valid_MAC_And_Verify
-i Configure_Broadcast_MAC_And_Verify
-i Configure_Zero_MAC_And_Verify
-i Configure_Valid_MAC_And_Check_Persistency
-i Revert_To_Initial_MAC_And_Verify
# SNMP
-i Configure_SNMP_Manager_On_BMC_And_Verify
-i Configure_SNMP_Manager_On_BMC_With_Non_Default_Port_And_Verify
-i Configure_SNMP_Manager_On_BMC_With_Out_Of_Range_IP_And_Verify
-i Configure_Multiple_SNMP_Managers_And_Verify
-i Configure_Multiple_SNMP_Managers_With_Non_Default_Port_And_Verify
-i Configure_Multiple_SNMP_Managers_With_Different_Ports_And_Verify
-i Configure_SNMP_Manager_On_BMC_With_Empty_Port_And_Verify
# Fan and energy scale test.
-i Escale_Base_Test_Inactive_Monitoring
-i Escale_Base_Test_Active_Monitoring
-i Escale_Power_Setting_Via_REST_And_Verify
-i Escale_Power_Setting_Via_IPMI_And_Verify
-i Escale_Activation_Test_Via_REST
-i Escale_Dectivation_Test_Via_REST
-i Check_Number_Of_Fans_With_Power_On
-i Check_Number_Of_Fan_Monitors_With_Power_On
-i Check_Fan_Speed
