diff --git a/bin/auto_status_file.py b/bin/auto_status_file.py
index d1614f3..fa820be 100755
--- a/bin/auto_status_file.py
+++ b/bin/auto_status_file.py
@@ -173,7 +173,7 @@
     cmd_buf = "set -o pipefail ; " + command_string + " 2>&1 | tee -a " \
         + status_file_path
     qprint_issuing(cmd_buf)
-    sub_proc = subprocess.Popen(cmd_buf, shell=True)
+    sub_proc = subprocess.Popen(cmd_buf, shell=True, executable='/bin/bash')
     sub_proc.communicate()
     shell_rc = sub_proc.returncode
 
diff --git a/bin/plug_ins/Auto_reboot/cp_master b/bin/plug_ins/Auto_reboot/cp_master
index 843d73e..2fd0d31 100755
--- a/bin/plug_ins/Auto_reboot/cp_master
+++ b/bin/plug_ins/Auto_reboot/cp_master
@@ -66,7 +66,7 @@
     init_robot_out_parms(get_plug_in_package_name() + "." + pgm_name + ".")
 
     lib_file_path = init_robot_file_path("lib/utils.robot")
-
+ 
     REDFISH_SUPPORT_TRANS_STATE = int(os.environ.get('REDFISH_SUPPORT_TRANS_STATE', 0)) or \
         int(os.environ.get('AUTOBOOT_REDFISH_SUPPORT_TRANS_STATE', 0))
 
diff --git a/data/ipmi_raw_cmd_table.py b/data/ipmi_raw_cmd_table.py
index 1ddd58f..f2c88e6 100644
--- a/data/ipmi_raw_cmd_table.py
+++ b/data/ipmi_raw_cmd_table.py
@@ -156,5 +156,167 @@
             "0x89",
             "error response byte when host is powered off"
         ]
+    },
+    'Watchdog':
+    {
+        # Command action type
+        'Get':
+        [
+            # raw command, expected output(s), comment
+            "0x06 0x25",
+            "05 00 00 00 64 00",
+            "don't log bit enabled",
+            "85 00 00 00 64 00",
+            "don't log bit disabled",
+            "05 00 00 00 64 00",
+            "stop bit stop",
+            "45 00 00 00 64 00",
+            "stop bit resume",
+            "01 00 00 00 64 00",
+            "timer use FRB2",
+            "02 00 00 00 64 00",
+            "timer use POST",
+            "03 00 00 00 64 00",
+            "timer use OS",
+            "04 00 00 00 64 00",
+            "timer use SMS",
+            "05 00 00 00 64 00",
+            "timer use OEM",
+            "05 00 00 00 64 00",
+            "pre-timeout interrupt None",
+            "05 20 00 00 64 00",
+            "pre-timeout interrupt NMI",
+            "05 00 00 00 64 00",
+            "timeout action None",
+            "05 01 00 00 64 00",
+            "timeout action Reset",
+            "05 02 00 00 64 00",
+            "timeout action PowerDown",
+            "05 03 00 00 64 00",
+            "timeout action PowerCycle",
+            "05 00 00 02 00 00",
+            "timeout flag FRB2",
+            "05 00 00 04 00 00",
+            "timeout flag POST",
+            "05 00 00 08 00 00",
+            "timeout flag OS",
+            "05 00 00 10 00 00",
+            "timeout flag SMS",
+            "05 00 00 20 00 00",
+            "timeout flag OEM",
+            "05 00 00 00 30 35 30 35",
+            "Get should return 13.6 seconds",
+            "05 00 00 00 ff ff ff ff",
+            "Bit 6 not set when timer stopped",
+            "0x06 0x25 0x00",
+            "Get with one extra byte",
+        ],
+        'Set':
+        [
+            # raw command, expected output, comment
+            "0x06 0x24 0x05 0x00 0x00 0x00 0x64 0x00",
+            "none",
+            "don't log bit enabled",
+            "0x06 0x24 0x85 0x00 0x00 0x00 0x64 0x00",
+            "none",
+            "don't log bit disabled",
+            "0x06 0x24 0x05 0x00 0x00 0x00 0x64 0x00",
+            "none",
+            "stop bit stop",
+            "0x06 0x24 0x45 0x00 0x00 0x00 0x64 0x00",
+            "none",
+            "stop bit resume",
+            "0x06 0x24 0x01 0x00 0x00 0x00 0x64 0x00",
+            "none",
+            "timer use FRB2",
+            "0x06 0x24 0x02 0x00 0x00 0x00 0x64 0x00",
+            "none",
+            "timer use POST",
+            "0x06 0x24 0x03 0x00 0x00 0x00 0x64 0x00",
+            "none",
+            "timer use OS",
+            "0x06 0x24 0x04 0x00 0x00 0x00 0x64 0x00",
+            "none",
+            "timer use SMS",
+            "0x06 0x24 0x05 0x00 0x00 0x00 0x64 0x00",
+            "none",
+            "timer use OEM",
+            "0x06 0x24 0x05 0x00 0x00 0x00 0x64 0x00",
+            "none",
+            "pre-timeout interrupt None",
+            "0x06 0x24 0x05 0x20 0x00 0x00 0x64 0x00",
+            "none",
+            "pre-timeout interrupt NMI",
+            "0x06 0x24 0x05 0x00 0x00 0x00 0x64 0x00",
+            "none",
+            "timeout action None",
+            "0x06 0x24 0x05 0x01 0x00 0x00 0x64 0x00",
+            "none",
+            "timeout action Reset",
+            "0x06 0x24 0x05 0x02 0x00 0x00 0x64 0x00",
+            "none",
+            "timeout action PowerDown",
+            "0x06 0x24 0x05 0x03 0x00 0x00 0x64 0x00",
+            "none",
+            "timeout action PowerCycle",
+            "0x06 0x24 0x05 0x00 0x00 0x02 0x00 0x00",
+            "none",
+            "timeout flag FRB2",
+            "0x06 0x24 0x05 0x00 0x00 0x04 0x00 0x00",
+            "none",
+            "timeout flag POST",
+            "0x06 0x24 0x05 0x00 0x00 0x08 0x00 0x00",
+            "none",
+            "timeout flag OS",
+            "0x06 0x24 0x05 0x00 0x00 0x10 0x00 0x00",
+            "none",
+            "timeout flag SMS",
+            "0x06 0x24 0x05 0x00 0x00 0x20 0x00 0x00",
+            "none",
+            "timeout flag OEM",
+            "0x06 0x24 0x01 0x02 0x00 0x00 0x20 0x00",
+            "none",
+            "Power down",
+            "0x06 0x24 0x01 0x01 0x00 0x00 0x20 0x00",
+            "none",
+            "Hard reset",
+            "0x06 0x24 0x01 0x03 0x00 0x00 0x20 0x00",
+            "none",
+            "Power cycle",
+            "0x06 0x24 0x01 0x00 0x00 0x00 0x20 0x00",
+            "none",
+            "No action",
+            "0x06 0x24 0x05 0x00 0x00 0x00 0x30 0x35",
+            "none",
+            "Set for 13.6 seconds",
+            "0x06 0x24 0x05 0x00 0x07 0x00 0x50 0x00",
+            "none",
+            "Pre-timeout interval passes",
+            "0x06 0x24 0x05 0x00 0x04 0x00 0x0A 0x00",
+            "none",
+            "Pre-timeout interval fails",
+            "0x06 0x24 0x05 0x00 0x00 0x20 0xFF 0xFF",
+            "none",
+            "Bit 6 not set when timer stopped",
+            "0x06 0x24 0x05 0x00 0x08 0x00 0x64",
+            "none",
+            "Set with one less byte",
+            "0x06 0x24 0x05 0x00 0x08 0x00 0x64 0x00 0x00",
+            "none",
+            "Set with one extra byte",
+        ],
+        'Reset':
+        [
+            # raw command, expected output, comment
+            "0x06 0x22",
+            "none",
+            "Reset watchdog timer",
+            "0x06 0x22 0x00",
+            "none",
+            "Reset watchdog timer with extra byte",
+            "0x06 0x22",
+            "none",
+            "Reset watchdog timer without initialized watchdog",
+        ]
     }
 }
diff --git a/ipmi/test_ipmi_watchdog.robot b/ipmi/test_ipmi_watchdog.robot
new file mode 100644
index 0000000..7fed9f7
--- /dev/null
+++ b/ipmi/test_ipmi_watchdog.robot
@@ -0,0 +1,320 @@
+*** Settings ***
+
+Documentation    Module to test IPMI watchdog functionality.
+Resource         ../lib/ipmi_client.robot
+Resource         ../lib/openbmc_ffdc.robot
+Resource         ../lib/boot_utils.robot
+Library          ../lib/ipmi_utils.py
+Library          String
+Library          Collections
+Variables        ../data/ipmi_raw_cmd_table.py
+
+*** Variables ***
+
+${timer_delay}          3
+${power_state_change}   20
+
+*** Test Cases ***
+
+Test IPMI Watchdog Timer Don't Log Bit
+    [Documentation]  Execute out of band set/get don't log bit for watchdog timer.
+    [Tags]  Test_IPMI_Watchdog_Timer_Don't_Log_Bit
+    [Template]  Execute IPMI Raw Command And Verify Response Data
+
+    # Test action  set_raw_cmd  get_raw_cmd  resp_expect
+    Enable  ${IPMI_RAW_CMD['Watchdog']['Set'][0]}  ${IPMI_RAW_CMD['Watchdog']['Get'][0]}
+    ...  ${IPMI_RAW_CMD['Watchdog']['Get'][1]}
+    Disable  ${IPMI_RAW_CMD['Watchdog']['Set'][3]}  ${IPMI_RAW_CMD['Watchdog']['Get'][0]}
+    ...  ${IPMI_RAW_CMD['Watchdog']['Get'][3]}
+
+Test IPMI Watchdog Timer Stop Bit
+    [Documentation]  Execute out of band set/get stop/resume timer stop bit for watchdog timer.
+    [Tags]  Test_IPMI_Watchdog_Timer_Stop_Bit
+    [Template]  Execute IPMI Raw Command And Verify Response Data
+
+    # Stop_Bit  set_raw_cmd  get_raw_cmd  resp_expect
+    Stop  ${IPMI_RAW_CMD['Watchdog']['Set'][6]}  ${IPMI_RAW_CMD['Watchdog']['Get'][0]}
+    ...  ${IPMI_RAW_CMD['Watchdog']['Get'][5]}
+    Resume  ${IPMI_RAW_CMD['Watchdog']['Set'][9]}  ${IPMI_RAW_CMD['Watchdog']['Get'][0]}
+    ...  ${IPMI_RAW_CMD['Watchdog']['Get'][7]}
+
+Test IPMI Watchdog Timer Use Bits
+    [Documentation]  Execute out of band set/get timer use bits for watchdog timer.
+    [Tags]  Test_IPMI_Watchdog_Timer_Use_Bits
+    [Template]  Execute IPMI Raw Command And Verify Response Data
+
+    # Timer Use  set_raw_cmd  get_raw_cmd  resp_expect
+    FRB2  ${IPMI_RAW_CMD['Watchdog']['Set'][12]}  ${IPMI_RAW_CMD['Watchdog']['Get'][0]}
+    ...  ${IPMI_RAW_CMD['Watchdog']['Get'][9]}
+    POST  ${IPMI_RAW_CMD['Watchdog']['Set'][15]}  ${IPMI_RAW_CMD['Watchdog']['Get'][0]}
+    ...  ${IPMI_RAW_CMD['Watchdog']['Get'][11]}
+    OS  ${IPMI_RAW_CMD['Watchdog']['Set'][18]}  ${IPMI_RAW_CMD['Watchdog']['Get'][0]}
+    ...  ${IPMI_RAW_CMD['Watchdog']['Get'][13]}
+    SMS  ${IPMI_RAW_CMD['Watchdog']['Set'][21]}  ${IPMI_RAW_CMD['Watchdog']['Get'][0]}
+    ...  ${IPMI_RAW_CMD['Watchdog']['Get'][15]}
+    OEM  ${IPMI_RAW_CMD['Watchdog']['Set'][24]}  ${IPMI_RAW_CMD['Watchdog']['Get'][0]}
+    ...  ${IPMI_RAW_CMD['Watchdog']['Get'][17]}
+
+Test IPMI Watchdog Timer Pre-Timeout Interrupt Bits
+    [Documentation]  Execute out of band set/get pre-timeout interrupt bits for watchdog timer.
+    [Tags]  Test_IPMI_Watchdog_Timer_Pre-Timeout_Interrupt_Bits
+    [Template]  Execute IPMI Raw Command And Verify Response Data
+
+    # Interrupt  set_raw_cmd  get_raw_cmd  resp_expect
+    None  ${IPMI_RAW_CMD['Watchdog']['Set'][27]}  ${IPMI_RAW_CMD['Watchdog']['Get'][0]}
+    ...  ${IPMI_RAW_CMD['Watchdog']['Get'][19]}
+    NMI  ${IPMI_RAW_CMD['Watchdog']['Set'][30]}  ${IPMI_RAW_CMD['Watchdog']['Get'][0]}
+    ...  ${IPMI_RAW_CMD['Watchdog']['Get'][21]}
+
+Test IPMI Watchdog Timer Timeout Action Bits
+    [Documentation]  Execute out of band set/get timer timeout bits for watchdog timer.
+    [Tags]  Test_IPMI_Watchdog_Timer_Timeout_Action_Bits
+    [Template]  Execute IPMI Raw Command And Verify Response Data
+
+    # Timer Action  set_raw_cmd  get_raw_cmd  resp_expect
+    None  ${IPMI_RAW_CMD['Watchdog']['Set'][33]}  ${IPMI_RAW_CMD['Watchdog']['Get'][0]}
+    ...  ${IPMI_RAW_CMD['Watchdog']['Get'][23]}
+    Reset  ${IPMI_RAW_CMD['Watchdog']['Set'][36]}  ${IPMI_RAW_CMD['Watchdog']['Get'][0]}
+    ...  ${IPMI_RAW_CMD['Watchdog']['Get'][25]}
+    Power Down  ${IPMI_RAW_CMD['Watchdog']['Set'][39]}  ${IPMI_RAW_CMD['Watchdog']['Get'][0]}
+    ...  ${IPMI_RAW_CMD['Watchdog']['Get'][27]}
+    Power Cycle  ${IPMI_RAW_CMD['Watchdog']['Set'][42]}  ${IPMI_RAW_CMD['Watchdog']['Get'][0]}
+    ...  ${IPMI_RAW_CMD['Watchdog']['Get'][29]}
+
+Test IPMI Watchdog Timer Timeout Flag Bits
+    [Documentation]  Execute out of band set/get timer timeout flag bits for watchdog timer.
+    [Tags]  Test_IPMI_Watchdog_Timer_Timeout_Flag_Bits
+    [Template]  Execute IPMI Raw Command And Verify Response Data
+
+    # Timeout Flag  set_raw_cmd  get_raw_cmd  resp_expect
+    FRB2  ${IPMI_RAW_CMD['Watchdog']['Set'][45]}  ${IPMI_RAW_CMD['Watchdog']['Get'][0]}
+    ...  ${IPMI_RAW_CMD['Watchdog']['Get'][31]}
+    POST  ${IPMI_RAW_CMD['Watchdog']['Set'][48]}  ${IPMI_RAW_CMD['Watchdog']['Get'][0]}
+    ...  ${IPMI_RAW_CMD['Watchdog']['Get'][33]}
+    OS  ${IPMI_RAW_CMD['Watchdog']['Set'][51]}  ${IPMI_RAW_CMD['Watchdog']['Get'][0]}
+    ...  ${IPMI_RAW_CMD['Watchdog']['Get'][35]}
+    SMS  ${IPMI_RAW_CMD['Watchdog']['Set'][54]}  ${IPMI_RAW_CMD['Watchdog']['Get'][0]}
+    ...  ${IPMI_RAW_CMD['Watchdog']['Get'][37]}
+    OEM  ${IPMI_RAW_CMD['Watchdog']['Set'][57]}  ${IPMI_RAW_CMD['Watchdog']['Get'][0]}
+    ...  ${IPMI_RAW_CMD['Watchdog']['Get'][39]}
+
+
+Verify Timer Action Actions
+    [Documentation]  Set Watchdog via IPMI raw command and verify timer actions.
+    [Tags]  Verify_Timer_Action_Power_Down
+    [Template]  Validate Watchdog Timer Actions And SEL Events
+
+    # Timer action  set action command  power state  SEL event
+    Power down  ${IPMI_RAW_CMD['Watchdog']['Set'][60]}  ['off']  Power done
+    Hard reset  ${IPMI_RAW_CMD['Watchdog']['Set'][63]}  ['on']  Hard Reset
+    Power Cycle  ${IPMI_RAW_CMD['Watchdog']['Set'][66]}  ['on']  Power cycle
+    No action  ${IPMI_RAW_CMD['Watchdog']['Set'][69]}  ['on']  Timer expired
+
+
+Verify Reset Timer
+    [Documentation]  Set Watchdog via IPMI raw command and verify Reset Timer functions as expected.
+    [Tags]  Verify_Reset_Timer
+
+    # Check the chassis status.
+    Power On Host And Verify
+
+    # Set Watchdog Timer initCount(0x3530).
+    Run IPMI Standard Command  raw ${IPMI_RAW_CMD['Watchdog']['Set'][72]}
+
+    # Get Watchdog Timer.
+    ${resp}=  Run IPMI Standard Command  raw ${IPMI_RAW_CMD['Watchdog']['Get'][0]}
+    Should Contain  ${resp}  ${IPMI_RAW_CMD['Watchdog']['Get'][41]}
+
+    @{start_timer_value}=  Split String  ${resp}
+    FOR    ${value}    IN    @{start_timer_value}
+        Log Many    ${value}
+    END
+
+    # Convert start value to integer.
+    # Example: Get watchdog response is 0x06 0x24 0x05 0x00 0x64 0x00 0x64 0x00.
+    # Start_timer_value is bits 6 - 7; set to 0x64 0x00 (100 ms decimal).
+    # Reverse bits 6 - 7 due to BMC being little endian; new value is 0x00 0x64.
+    # Convert hex value 0x00 0x64 to integer; start_timer_integer = 100.
+    ${value}=   Get Slice From List  ${start_timer_value}   6
+    Reverse List   ${value}
+    ${start_timer_string}=  Evaluate   "".join(${value})
+    ${start_timer_integer} =  Convert To Integer 	${start_timer_string}  16
+
+    # Delay.
+    Sleep   ${timer_delay}
+
+    # Get Watchdog Timer before reset watchdog timer.
+    ${resp}=  Run IPMI Standard Command  raw ${IPMI_RAW_CMD['Watchdog']['Get'][0]}
+    Should Contain  ${resp}  ${IPMI_RAW_CMD['Watchdog']['Get'][41]}
+
+    FOR    ${1}    IN    ${3}
+
+        # Reset Watchdog Timer.
+        Run IPMI Standard Command  raw ${IPMI_RAW_CMD['Watchdog']['Reset'][0]}
+        # Delay.
+        Sleep  ${timer_delay}
+        Get Watchdog Timer And Compare To Start Value  ${start_timer_integer}
+
+    END
+
+
+Verify Pre-timeout Values
+    [Documentation]  Set Watchdog Pre-timeout via IPMI raw command and verify via Get Watchdog Timer.
+    [Tags]  Verify_Pre-timeout_Values
+    [Template]  Validate Watchdog Pre-timeout
+
+    #  interval  command response
+    Less than initial  ${IPMI_RAW_CMD['Watchdog']['Set'][75]}  ${EMPTY}
+    Maximum  ${IPMI_RAW_CMD['Watchdog']['Set'][81]}  ${EMPTY}
+    Bit 6 not set  ${IPMI_RAW_CMD['Watchdog']['Get'][0]}  ${IPMI_RAW_CMD['Watchdog']['Get'][43]}
+
+Verify Failure For Pre-Timeout Interval > Initial Count
+    [Documentation]  Set Watchdog Pre-timeout via IPMI raw command and verify via Get Watchdog Timer.
+    [Tags]  Verify_Pre-timeout_Values
+
+    # Expected to fail: pre-timeout interval (4000) > initial count (1000).
+    Run Keyword and Expect Error  *Invalid data field*
+    ...  Run IPMI Standard Command  raw ${IPMI_RAW_CMD['Watchdog']['Set'][78]}
+
+Verify Invalid Request Data Length
+    [Documentation]  Set Watchdog via IPMI raw command and verify via Get Watchdog Timer.
+    [Tags]  Verify_Invalid_Request_Data_Length
+    [Template]  Watchdog Invalid Request Data Length
+
+    # Number of bytes  command
+    One less byte  ${IPMI_RAW_CMD['Watchdog']['Set'][84]}
+    One extra byte  ${IPMI_RAW_CMD['Watchdog']['Set'][87]}
+    One extra byte  ${IPMI_RAW_CMD['Watchdog']['Get'][45]}
+
+Verify Invalid Reset Timer Request Data
+    [Documentation]  Set Watchdog via IPMI raw command and verify via Get Watchdog Timer.
+    [Tags]  Verify_Invalid_Request_Data_Length
+
+    # Reset Watchdog Timer with one extra byte.
+    Run Keyword and Expect Error  *Request data length*
+    ...  Run IPMI Standard Command  raw ${IPMI_RAW_CMD['Watchdog']['Reset'][3]}
+
+    # Reset BMC.
+    Run External IPMI Standard Command  mc reset cold -N 10 -R 1
+    Check If BMC is Up
+
+    # Reset Watchdog Timer without initialized watchdog.
+    Run Keyword and Expect Error  *Unknown*
+    ...  Run IPMI Standard Command  raw ${IPMI_RAW_CMD['Watchdog']['Reset'][6]}
+
+*** Keywords ***
+
+Execute IPMI Raw Command And Verify Response Data
+    [Documentation]  Execute out of band IPMI raw command and verify response data.
+    [Arguments]  ${bit_purpose}  ${set_raw_cmd}  ${get_raw_cmd}  ${resp_expect}
+
+    # Description of argument(s):
+    # bit_purpose     Purpose of the associated bit(s).
+    # set_raw_cmd     The request bytes for the command.
+    # get_raw_cmd     The response bytes for the command.
+    # resp_expect     The expected response bytes for the command.
+
+    Run IPMI Standard Command  raw ${set_raw_cmd}
+    ${resp}=  Run IPMI Standard Command  raw ${get_raw_cmd}
+    Should Contain  ${resp}  ${resp_expect}  msg=Expecting ${resp_expect} but got ${resp}.
+
+Validate Watchdog Timer Actions And SEL Events
+    [Documentation]  Verify the watchdog timer actions and the associated SEL events.
+    [Arguments]  ${timer_action}  ${set_raw_cmd}  ${power_state}  ${sel_event}
+
+    # Description of argument(s):
+    # timer_action     Action when watchdog timer expires.
+    # set_raw_cmd     The set timeout action request bytes for the command.
+    # power_state     The expected power state of the host.
+    # sel_event     The response bytes for the command.
+
+    # Check the chassis status.
+    Power On Host And Verify
+
+    # Clear SEL.
+    Run IPMI Standard Command  sel clear
+
+    # Set watchdog timer action to perform action.
+    Run IPMI Standard Command  raw ${set_raw_cmd}
+
+    # Reset Watchdog Timer.
+    Run IPMI Standard Command  raw ${IPMI_RAW_CMD['Watchdog']['Reset'][0]}
+
+    # Delay for power state.
+    Sleep  ${power_state_change}
+
+    Verify Host Power State  ${power_state}
+    Verify Watchdog Timer Action SEL Event  ${sel_event}
+
+
+Verify Host Power State
+    [Documentation]   Get host power state using external IPMI command and verify.
+    [Arguments]  ${power_state}
+
+    # Description of argument(s):
+    # ipmi_value     Value of Host power state: "on" or "off".
+
+    ${ipmi_state}=  Get Host State Via External IPMI
+    Valid Value  ipmi_state  ${power_state}
+
+Verify Watchdog Timer Action SEL Event
+    [Documentation]   Verify_Watchdog_Timer_Action_SEL_Event.
+    [Arguments]  ${sel_event}
+
+    # Description of argument(s):
+    # state_string   Text of SEL event after timer action.
+
+    ${resp}=  Run IPMI Standard Command  sel elist
+    ${power_status}=  Get Lines Containing String  ${resp}  Watchdog
+    Should Contain  ${power_status}  ${sel_event}
+
+Power On Host And Verify
+    [Documentation]   Power the host on and verify.
+
+    IPMI Power On  stack_mode=skip  quiet=1
+    ${ipmi_state}=  Get Host State Via External IPMI
+    Valid Value  ipmi_state  ['on']
+
+Watchdog Invalid Request Data Length
+    [Documentation]   Get watchdog value, convert to integer, and compare to original start value.
+    [Arguments]  ${byte_length}  ${watchdog_command}
+
+    # Description of argument(s):
+    # byte_length  The request byte length, which is used for explaining the command in the test case.
+    # watchdog_command     The raw watchdog IPMI command request bytes.
+
+    Run Keyword and Expect Error  *Request data length*
+    ...  Run IPMI Standard Command  raw ${watchdog_command}
+
+Validate Watchdog Pre-timeout
+    [Documentation]   Get watchdog value, convert to integer, and compare to original start value.
+    [Arguments]  ${byte_length}  ${watchdog_command}  ${response}
+
+    ${resp}=  Run IPMI Standard Command  raw ${watchdog_command}
+    Should Contain  ${resp}  ${response}
+
+Get Watchdog Timer And Compare To Start Value
+    [Documentation]   Get watchdog value, convert to integer, and compare to original start value.
+    [Arguments]  ${start_timer_integer}
+
+    # Description of argument(s):
+    # start_timer_integer     The initial value for the watchdog timer.
+
+    # Get Watchdog Timer.
+    ${resp}=  Run IPMI Standard Command  raw ${IPMI_RAW_CMD['Watchdog']['Get'][0]}
+    @{timer_value}=  Split String  ${resp}
+
+    FOR    ${value}    IN    @{timer_value}
+        Log Many    ${value}
+    END
+
+    # Convert to integer and compare with start value.
+    # Example: Get watchdog response is 0x06 0x24 0x05 0x00 0x64 0x00 0x64 0x00.
+    # Start_timer_value is bits 6 - 7; set to 0x64 0x00 (100 ms decimal).
+    # Reverse bits 6 - 7 due to BMC being little endian; new value is 0x00 0x64.
+    # Convert hex value 0x00 0x64 to integer; start_timer_integer = 100.
+    ${value}=   Get Slice From List  ${timer_value}   6
+    Reverse List   ${value}
+    ${timer_string}=   Evaluate   "".join(${value})
+    ${current_timer_integer}=  Convert To Integer  ${timer_string}  16
+    Should Be True   ${current_timer_integer} < ${start_timer_integer}
\ No newline at end of file
diff --git a/lib/utils.robot b/lib/utils.robot
index 8f0ba80..942c702 100755
--- a/lib/utils.robot
+++ b/lib/utils.robot
@@ -747,7 +747,7 @@
 
     # Description of argument(s):
     # setting    The reboot setting, "RetryAttempts" and "Disabled".
-
+ 
     Redfish.Patch  /redfish/v1/Systems/system  body={"Boot": {"AutomaticRetryConfig": "${setting}"}}
     ...  valid_status_codes=[${HTTP_OK}, ${HTTP_NO_CONTENT}]
 
