# Basic power on test.
-i Test_Remote_Logging_Configuration
-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_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
# Submitted IPMI PR and is merged, fix will be availble in newer ipmitool.
# Reference: https://github.com/ipmitool/ipmitool/pull/96
#-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
# 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 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 Get_Response_Codes
-i Get_Data
-i Get_Data_Validation
-i Put_Data_Validation
-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_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 Verify_Hostname
# 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
