diff --git a/data/variables.py b/data/variables.py
index 1146cab..1a8c84f 100644
--- a/data/variables.py
+++ b/data/variables.py
@@ -15,7 +15,7 @@
 INVENTORY_URI = OPENBMC_BASE_URI + 'inventory/'
 USER_MANAGER_URI = OPENBMC_BASE_URI + 'UserManager/'
 NETWORK_MANAGER_URI = OPENBMC_BASE_URI + 'NetworkManager/'
-
+TIME_MANAGER_URI = OPENBMC_BASE_URI + 'TimeManager/'
 
 '''
   QEMU HTTPS variable:
diff --git a/test_lists/skip_test b/test_lists/skip_test
index 0121958..d2c547b 100644
--- a/test_lists/skip_test
+++ b/test_lists/skip_test
@@ -49,3 +49,7 @@
 -e get_names_org
 #https://github.com/openbmc/openbmc-test-automation/issues/226
 -e Test_BIOS_Version
+#https://github.com/openbmc/openbmc/issues/928
+-e Set_Host_Time_With_Both_And_NTP
+#https://github.com/openbmc/openbmc/issues/901
+-e Set_BMC_Time_With_Split_And_Manual
diff --git a/test_lists/skip_test_palmetto b/test_lists/skip_test_palmetto
index 501b4e4..3f8cbeb 100644
--- a/test_lists/skip_test_palmetto
+++ b/test_lists/skip_test_palmetto
@@ -55,3 +55,7 @@
 -e get_directory_listing
 #https://github.com/openbmc/openbmc-test-automation/issues/90
 -e Verify_System_VPD_Properties
+#https://github.com/openbmc/openbmc/issues/928
+-e Set_Host_Time_With_Both_And_NTP
+#https://github.com/openbmc/openbmc/issues/901
+-e Set_BMC_Time_With_Split_And_Manual
diff --git a/test_lists/skip_test_witherspoon b/test_lists/skip_test_witherspoon
index 56f41d2..f1e3622 100644
--- a/test_lists/skip_test_witherspoon
+++ b/test_lists/skip_test_witherspoon
@@ -56,3 +56,7 @@
 -e get_names_org
 -e bmcreboot
 -e chassisboot
+#https://github.com/openbmc/openbmc/issues/928
+-e Set_Host_Time_With_Both_And_NTP
+#https://github.com/openbmc/openbmc/issues/901
+-e Set_BMC_Time_With_Split_And_Manual
diff --git a/tests/test_time.robot b/tests/test_time.robot
old mode 100755
new mode 100644
index 3c13f49..c91f178
--- a/tests/test_time.robot
+++ b/tests/test_time.robot
@@ -14,170 +14,387 @@
 Test Teardown          Post Test Execution
 
 *** Variables ***
-${SYSTEM_TIME_INVALID}     01/01/1969 00:00:00
-${SYSTEM_TIME_VALID}       02/29/2016 09:10:00
-${ALLOWED_TIME_DIFF}       2
-
-${SETTING_HOST}     ${SETTINGS_URI}host0
+${SYSTEM_TIME_INVALID}      01/01/1969 00:00:00
+${SYSTEM_TIME_VALID}        02/29/2016 09:10:00
+${SYSTEM_TIME_VALID_EPOCH}  1456737000  #Equivalent epoch time for 02/29/2016 09:10:00
+${ALLOWED_TIME_DIFF}        3
+${SETTING_HOST}             ${SETTINGS_URI}host0
 
 *** Test Cases ***
 
 Get System Time
-    [Documentation]   ***GOOD PATH***
-    ...               This test case tries to get system time using IPMI and
-    ...               then tries to cross check with BMC date time.
-    ...               Expectation is that BMC time and ipmi sel time should match.
+    [Documentation]  Get system time using IPMI and verify that it matches
+    ...              with BMC date time.
     [Tags]  Get_System_Time
 
-    ${resp}=    Run IPMI Standard Command    sel time get
-    ${ipmidate}=    Convert Date    ${resp}    date_format=%m/%d/%Y %H:%M:%S    exclude_millis=yes
-    ${bmcdate}=    Get BMC Time And Date
-    ${diff}=    Subtract Date From Date    ${bmcdate}    ${ipmidate}
-    Should Be True      ${diff} < ${ALLOWED_TIME_DIFF}    Open BMC time does not match with IPMI sel time
+    ${resp}=  Run IPMI Standard Command  sel time get
+    ${ipmidate}=  Convert Date  ${resp}  date_format=%m/%d/%Y %H:%M:%S
+    ...  exclude_millis=yes
+    ${bmcdate}=  Get BMC Time Using IPMI
+    ${diff}=  Subtract Date From Date  ${bmcdate}  ${ipmidate}
+    Should Be True  ${diff} < ${ALLOWED_TIME_DIFF}
+    ...  Open BMC time does not match with IPMI sel time
 
 Set Valid System Time
-    [Documentation]   ***GOOD PATH***
-    ...               This test case tries to set system time using IPMI and
-    ...               then tries to cross check if it is correctly set in BMC.
-    ...               Expectation is that BMC time should match with new time.
+    [Documentation]  Set system time using IPMI and verify that it is
+    ...              correctly set in BMC.
     [Tags]  Set_Valid_System_Time
 
-    ${resp}=    Run IPMI Standard Command    sel time set "${SYSTEM_TIME_VALID}"
-    ${setdate}=    Convert Date    ${SYSTEM_TIME_VALID}    date_format=%m/%d/%Y %H:%M:%S    exclude_millis=yes
-    ${bmcdate}=    Get BMC Time And Date
-    ${diff}=    Subtract Date From Date    ${bmcdate}    ${setdate}
-    Should Be True      ${diff} < ${ALLOWED_TIME_DIFF}     Open BMC time does not match with set time
+    ${resp}=  Run IPMI Standard Command  sel time set "${SYSTEM_TIME_VALID}"
+    ${setdate}=  Convert Date  ${SYSTEM_TIME_VALID}
+    ...  date_format=%m/%d/%Y %H:%M:%S  exclude_millis=yes
+    ${bmcdate}=  Get BMC Time Using IPMI
+    ${diff}=  Subtract Date From Date  ${bmcdate}  ${setdate}
+    Should Be True  ${diff} < ${ALLOWED_TIME_DIFF}
+    ...  Open BMC time does not match with set time
 
 Set Invalid System Time
-    [Documentation]   ***BAD PATH***
-    ...               This test case tries to set system time with invalid time using IPMI.
-    ...               Expectation is that it should return error.
+    [Documentation]  Set system time with invalid time using IPMI and verify
+    ...              that it should throw error.
     [Tags]  Set_Invalid_System_Time
 
-    ${msg}=    Run Keyword And Expect Error    *    Run IPMI Standard Command    sel time set "${SYSTEM_TIME_INVALID}"
-    Should Start With    ${msg}    Specified time could not be parsed
+    ${msg}=  Run Keyword And Expect Error  *  Run IPMI Standard Command
+    ...  sel time set "${SYSTEM_TIME_INVALID}"
+    Should Start With  ${msg}  Specified time could not be parsed
 
 Set System Time with no time
-    [Documentation]   ***BAD PATH***
-    ...               This test case tries to set system time with no time using IPMI.
-    ...               Expectation is that it should return error.
+    [Documentation]  Set system time with no time using IPMI and verify
+    ...              that it should throw error.
     [Tags]  Set_System_Time_with_no_time
 
-    ${msg}=    Run Keyword And Expect Error    *    Run IPMI Standard Command    sel time set ""
-    Should Start With    ${msg}    Specified time could not be parsed
+    ${msg}=  Run Keyword And Expect Error  *  Run IPMI Standard Command
+    ...  sel time set ""
+    Should Start With  ${msg}  Specified time could not be parsed
 
-Set NTP Time Mode
-    [Documentation]   ***GOOD PATH***
-    ...               This testcase is to set time mode as NTP using REST
-    ...               URI and then verify using REST API.\n
-    [Tags]  Set_NTP_Time_Mode
 
-    Set Time Mode   NTP
+Set BMC Time With BMC And Manual
+    #Operation    Owner  Mode    Status  BMC Time  Host Time
+    Set BMC Time  BMC    MANUAL  ok      Set       Change
 
-    ${boot}=   Read Attribute  ${SETTING_HOST}   time_mode
-    Should Be Equal    ${boot}    NTP
+    [Documentation]  Set BMC time when time owner is BMC and time mode is
+    ...              manual.
+    [Tags]  Set_BMC_Time_With_BMC_And_Manual
+    [Template]  Set Time Using REST
 
-Set Manual Time Mode
-    [Documentation]   ***GOOD PATH***
-    ...               This testcase is to set time mode as manual using REST
-    ...               URI and then verify using REST API.\n
-    [Tags]  Set_Manual_Time_Mode
+Set BMC Time With Both And Manual
+    #Operation    Owner  Mode    Status  BMC Time  Host Time
+    Set BMC Time  BOTH   MANUAL  ok      Set       Change
 
-    Set Time Mode   Manual
+    [Documentation]  Set BMC time when time owner is Both and time mode is
+    ...              manual.
+    [Tags]  Set_BMC_Time_With_Both_And_Manual
+    [Template]  Set Time Using REST
 
-    ${boot}=   Read Attribute  ${SETTING_HOST}   time_mode
-    Should Be Equal    ${boot}    Manual
 
-Set Time Owner as BMC
-    [Documentation]   ***GOOD PATH***
-    ...               This testcase is to set time owner as BMC using REST
-    ...               URI and then verify using REST API.\n
-    [Tags]  Set_Time_Owner_as_BMC
+Set BMC Time With Split And Manual
+    #Operation    Owner  Mode    Status  BMC Time  Host Time
+    Set BMC Time  SPLIT  MANUAL  ok      Set       No Change
 
-    Set Time Owner   BMC
+    [Documentation]  Set BMC time when time owner is Split and time mode is
+    ...              manual.
+    [Tags]  Set_BMC_Time_With_Split_And_Manual
+    [Template]  Set Time Using REST
 
-    ${boot}=   Read Attribute  ${SETTING_HOST}   time_owner
-    Should Be Equal    ${boot}    BMC
+Set BMC Time With BMC And NTP
+    #Operation    Owner  Mode    Status  BMC Time  Host Time
+    Set BMC Time  BMC    NTP     error   Not Set   No Change
 
-Set Time Owner as Host
-    [Documentation]   ***GOOD PATH***
-    ...               This testcase is to set time owner as Host using REST
-    ...               URI and then verify using REST API.\n
-    [Tags]  Set_Time_Owner_as_Host
+    [Documentation]  Set BMC time when time owner is BMC and time mode is
+    ...              NTP.
+    [Tags]  Set_BMC_Time_With_BMC_And_NTP
+    [Template]  Set Time Using REST
 
-    Set Time Owner   Host
+Set BMC Time With Host And Manual
+    #Operation    Owner  Mode    Status  BMC Time  Host Time
+    Set BMC Time  HOST   MANUAL  error   Not Set   No Change
+    [Documentation]  Set BMC time when time owner is Host and time mode is
+    ...              Manual.
+    [Tags]  Set_BMC_Time_With_Host_And_Manual
+    [Template]  Set Time Using REST
 
-    ${boot}=   Read Attribute  ${SETTING_HOST}    time_owner
-    Should Be Equal    ${boot}    Host
+Set BMC Time With Both And NTP
+    #Operation    Owner  Mode    Status  BMC Time  Host Time
+    Set BMC Time  BOTH   NTP     error   Not Set   No Change
+
+    [Documentation]  Set BMC time when time owner is Both and time mode is
+    ...              NTP.
+    [Tags]  Set_BMC_Time_With_Both_And_NTP
+    [Template]  Set Time Using REST
+
+Set BMC Time With Split And NTP
+    #Operation    Owner  Mode    Status  BMC Time  Host Time
+    Set BMC Time  SPLIT  NTP     error   Not Set   No Change
+
+    [Documentation]  Set BMC time when time owner is Split and time mode is
+    ...              NTP.
+    [Tags]  Set_BMC_Time_With_Split_And_NTP
+    [Template]  Set Time Using REST
+
+Set Host Time With Host And Manual
+    #Operation     Owner  Mode    Status  BMC Time  Host Time
+    Set Host Time  HOST   MANUAL  ok      Change    Set
+
+    [Documentation]  Set host time when time owner is host and time mode is
+    ...              manual.
+    [Tags]  Set_Host_Time_With_Host_And_Manual
+    [Template]  Set Time Using REST
+
+Set Host Time With Both And Manual
+    #Operation     Owner  Mode    Status  BMC Time  Host Time
+    Set Host Time  BOTH   MANUAL  ok      Change    Set
+
+    [Documentation]  Set host time when time owner is both and time mode is
+    ...              manual.
+    [Tags]  Set_Host_Time_With_Both_And_Manual
+    [Template]  Set Time Using REST
+
+Set Host Time With Both And NTP
+    #Operation     Owner  Mode    Status  BMC Time   Host Time
+    Set Host Time  BOTH   NTP     ok      No Change  Set
+
+    [Documentation]  Set host time when time owner is both and time mode is
+    ...              NTP.
+    [Tags]  Set_Host_Time_With_Both_And_NTP
+    [Template]  Set Time Using REST
+
+Set Host Time With Split And Manual
+    #Operation     Owner  Mode    Status  BMC Time   Host Time
+    Set Host Time  SPLIT  MANUAL  ok      No Change  Set
+
+    [Documentation]  Set host time when time owner is split and time mode is
+    ...              manual.
+    [Tags]  Set_Host_Time_With_Split_And_Manual
+    [Template]  Set Time Using REST
+
+Set Host Time With Split And NTP
+    #Operation     Owner  Mode    Status   BMC Time   HOST Time
+    Set Host Time  SPLIT  NTP     ok       No Change  Set
+
+    [Documentation]  Set host time when time owner is split and time mode is
+    ...              NTP.
+    [Tags]  Set_Host_Time_With_Split_And_NTP
+    [Template]  Set Time Using REST
+
+Set Host Time With BMC And Manual
+    #Operation     Owner  Mode    Status   BMC Time   HOST Time
+    Set Host Time  BMC    MANUAL  error    No Change  Not Set
+    [Documentation]  Set host time when time owner is BMC and time mode is
+    ...              Manual.
+    [Tags]  Set_Host_Time_With_BMC_And_Manual
+    [Template]  Set Time Using REST
+
+Set Host Time With BMC Owner NTP
+    #Operation     Owner  Mode    Status   BMC Time   HOST Time
+    Set Host Time  BMC    NTP     error    No Change  Not Set
+    [Documentation]  Set host time when time owner is BMC and time mode is
+    ...              NTP.
+    [Tags]  Set_Host_Time_With_BMC_And_NTP
+    [Template]  Set Time Using REST
 
 Set Invalid Time Mode
-    [Documentation]   ***BAD PATH***
-    ...               This testcase is to verify that invalid value for time
-    ...               mode can not be set and proper error is thrown by
-    ...               REST API for the same.
+    [Documentation]  Set time mode with invalid value using REST and verify
+    ...              that it should throw error.
     [Tags]  Set_Invalid_Time_Mode
 
-    ${resp}=   Set Time Mode   abc
-    Should Be Equal    ${resp}    error
+    ${timemode}=  Set Variable  abc
+    ${valueDict}=  Create Dictionary  data=${timemode}
 
-    ${boot}=   Read Attribute   ${SETTING_HOST}   time_mode
-    Should Not Be Equal    ${boot}    abc
+    ${resp}=  OpenBMC Put Request
+    ...  ${SETTING_HOST}/attr/time_mode  data=${valueDict}
+    ${jsondata}=  to JSON  ${resp.content}
+    Should Be Equal  ${jsondata['status']}  error
+
+    ${mode}=  Read Attribute  ${SETTING_HOST}  time_mode
+    Should Not Be Equal  ${mode}  abc
 
 Set Invalid Time Owner
-    [Documentation]   ***BAD PATH***
-    ...               This testcase is to verify that invalid value for time
-    ...               owner can not be set and proper error is thrown by
-    ...               REST API for the same.
+    [Documentation]  Set time owner with invalid value using REST and verify
+    ...              that it should throw error.
     [Tags]  Set_Invalid_Time_Owner
 
-    ${resp}=   Set Time Owner   xyz
-    Should Be Equal    ${resp}    error
+    ${timeowner}=  Set Variable  xyz
+    ${valueDict}=  Create Dictionary  data=${timeowner}
 
-    ${boot}=   Read Attribute  ${SETTING_HOST}   time_owner
-    Should Not Be Equal    ${boot}    xyz
+    ${resp}=  OpenBMC Put Request
+    ...  ${SETTING_HOST}/attr/time_owner  data=${valueDict}
+    ${jsondata}=  to JSON  ${resp.content}
+    Should Be Equal  ${jsondata['status']}  error
+
+    ${owner}=  Read Attribute  ${SETTING_HOST}  time_owner
+    Should Not Be Equal  ${owner}  xyz
 
 
 *** Keywords ***
 
-Get BMC Time And Date
-    ${stdout}    ${stderr}    ${output}=
-    ...          Execute Command    date "+%m/%d/%Y %H:%M:%S"
-    ...          return_stdout=True    return_stderr= True    return_rc=True
-    Should Be Equal    ${output}    ${0}    msg=${stderr}
+Get BMC Time Using IPMI
+    [Documentation]  Returns BMC time of the system via IPMI
 
-    ${resp}=     Convert Date    ${stdout}     date_format=%m/%d/%Y %H:%M:%S
-    ...          exclude_millis=yes
-    Should Not Be Empty    ${resp}
-    [Return]    ${resp}
+    ${stdout}  ${stderr}  ${output}=
+    ...  Execute Command  date "+%m/%d/%Y %H:%M:%S"
+    ...  return_stdout=True  return_stderr= True  return_rc=True
+    Should Be Equal  ${output}  ${0}  msg=${stderr}
+
+    ${resp}=  Convert Date  ${stdout}  date_format=%m/%d/%Y %H:%M:%S
+    ...  exclude_millis=yes
+    Should Not Be Empty  ${resp}
+    [Return]  ${resp}
 
 Set Time Owner
-    [Arguments]    ${args}
-    ${timeowner}=   Set Variable   ${args}
-    ${valueDict}=   create dictionary   data=${timeowner}
+    [Arguments]  ${args}
+    [Documentation]  Set time owner of the system via REST
 
-    ${resp}=   OpenBMC Put Request
-    ...    ${SETTING_HOST}/attr/time_owner    data=${valueDict}
-    ${jsondata}=    to json    ${resp.content}
-    [Return]    ${jsondata['status']}
+    ${timeowner}=  Set Variable  ${args}
+    ${valueDict}=  Create Dictionary  data=${timeowner}
+
+    ${resp}=  OpenBMC Put Request
+    ...  ${SETTING_HOST}/attr/time_owner  data=${valueDict}
+    ${jsondata}=  to JSON  ${resp.content}
+
+    @{states}=  Create List  BMC_READY  HOST_POWERED_OFF
+    ${bmc_state}=  Get BMC State
+
+    Run Keyword If  '${bmc_state}' in ${states}
+    ...  Log  System is in off state so owner change will get applied.
+    ...  ELSE   Run keyword
+    ...  Initiate Power Off
+
+    ${owner}=  Read Attribute  ${SETTING_HOST}  time_owner
+    Should Be Equal  ${owner}  ${args}
+
+    ${current_mode}=
+    ...  Read Attribute  ${TIME_MANAGER_URI.rstrip("/")}  curr_time_owner
+    Should Be Equal  ${current_mode}  ${args}
+
+    [Return]  ${jsondata['status']}
 
 Set Time Mode
-    [Arguments]    ${args}
-    ${timemode}=   Set Variable   ${args}
-    ${valueDict}=   create dictionary   data=${timemode}
+    [Arguments]  ${args}
+    [Documentation]  Set time mode of the system via REST
 
-    ${resp}=   OpenBMC Put Request
-    ...   ${SETTING_HOST}/attr/time_mode    data=${valueDict}
-    ${jsondata}=    to json    ${resp.content}
-    [Return]    ${jsondata['status']}
+    ${timemode}=  Set Variable  ${args}
+    ${valueDict}=  Create Dictionary  data=${timemode}
+
+    ${resp}=  OpenBMC Put Request
+    ...  ${SETTING_HOST}/attr/time_mode  data=${valueDict}
+    ${jsondata}=  to JSON  ${resp.content}
+    Sleep  5s
+
+    ${mode}=  Read Attribute  ${SETTING_HOST}  time_mode
+    Should Be Equal  ${mode}  ${args}
+
+    ${current_mode}=
+    ...  Read Attribute  ${TIME_MANAGER_URI.rstrip("/")}  curr_time_mode
+    Should Be Equal  ${current_mode}  ${args}
+
+Get BMC Time Using REST
+    [Documentation]  Returns BMC time of the system via REST
+    ...              Time Format : YYYY-MM-DD hh:mm:ss.mil
+    ...              eg. 2016-12-14 07:09:58.000
+
+    @{time_owner}=  Create List  BMC
+    ${data}=  Create Dictionary  data=@{time_owner}
+    ${resp}=  OpenBMC Post Request
+    ...  ${TIME_MANAGER_URI}action/GetTime  data=${data}
+    ${jsondata}=  To JSON  ${resp.content}
+    ${time_epoch}=  Get From List  ${jsondata["data"]}  0
+    ${resp}=  Convert Date
+    ...  ${time_epoch}  date_format=%a %b %d %H:%M:%S %Y %Z
+    [Return]  ${resp}
+
+Get HOST Time Using REST
+    [Documentation]  Returns HOST time of the system via REST
+    ...              Time Format : YYYY-MM-DD hh:mm:ss.mil
+    ...              eg. 2016-12-14 07:09:58.000
+
+    @{time_owner}=  Create List  HOST
+    ${data}=  Create Dictionary  data=@{time_owner}
+    ${resp}=  OpenBMC Post Request
+    ...  ${TIME_MANAGER_URI}action/GetTime  data=${data}
+    ${jsondata}=  To JSON  ${resp.content}
+    ${time_epoch}=  Get From List  ${jsondata["data"]}   0
+    ${resp}=  Convert Date
+    ...  ${time_epoch}  date_format=%a %b %d %H:%M:%S %Y %Z
+    [Return]  ${resp}
+
+Set Time Using REST
+    [Arguments]  ${operation}  ${owner}  ${mode}  ${status}  ${bmc_time}
+    ...  ${host_time}
+    [Documentation]  Set BMC or Host time on system via REST.
+    ...              Description of arguments:
+    ...              operation :  Set BMC/Host time
+    ...              owner: Time owner
+    ...              mode:  Time mode
+    ...              status:   Expected status of set BMC time URI
+    ...              bmc_time:   Status of BMC time after operation
+    ...              host_time:  Status of HOST time after operation
+    ...                Set - Given time is set
+    ...                Not Set - Given time is not set
+    ...                Change - time is change
+    ...                No Change - time is not change
+
+    Set Time Owner  ${owner}
+    Set Time Mode  ${mode}
+
+    ${setdate}=  Convert Date  ${SYSTEM_TIME_VALID}
+    ...  date_format=%m/%d/%Y %H:%M:%S  exclude_millis=yes
+
+    @{bmc_date_list}=  Create List  BMC  ${setdate}
+    @{host_date_list}=  Create List  HOST  ${SYSTEM_TIME_VALID_EPOCH}
+
+    ${time_owner_date}=  Set Variable If
+    ...  '${operation}' == 'Set BMC Time'  ${bmc_date_list}
+    ...  '${operation}' == 'Set Host Time'  ${host_date_list}
+
+    ${old_bmc_time}=  Get BMC Time Using REST
+    ${old_host_time}=  Get HOST Time Using REST
+
+    ${data}=  Create Dictionary  data=${time_owner_date}
+    ${resp}=  OpenBMC Post Request
+    ...  ${TIME_MANAGER_URI}action/SetTime  data=${data}
+    ${jsondata}=  To JSON  ${resp.content}
+    Should Be Equal As Strings  ${jsondata['status']}  ${status}
+
+    ${new_bmc_time}=  Get BMC Time Using REST
+    ${new_host_time}=  Get HOST Time Using REST
+
+    ${bmc_diff_set_new}=
+    ...  Subtract Date From Date  ${setdate}  ${new_bmc_time}
+    ${bmc_diff_set_new}=  Evaluate  abs(${bmc_diff_set_new})
+    ${bmc_diff_old_new}=
+    ...  Subtract Date From Date  ${old_bmc_time}  ${new_bmc_time}
+    ${bmc_diff_old_new}=  Evaluate  abs(${bmc_diff_old_new})
+
+    ${host_diff_set_new}=
+    ...  Subtract Date From Date  ${setdate}  ${new_host_time}
+    ${host_diff_set_new}=  Evaluate  abs(${host_diff_set_new})
+    ${host_diff_old_new}=
+    ...  Subtract Date From Date  ${old_host_time}  ${new_host_time}
+    ${host_diff_old_new}=  Evaluate  abs(${host_diff_old_new})
+
+    Run Keyword If   '${bmc_time}' == 'Not Set'
+    ...    Should Be True  ${bmc_diff_set_new} >= ${ALLOWED_TIME_DIFF}
+    ...  ELSE IF  '${bmc_time}' == 'Set'
+    ...    Should Be True  ${bmc_diff_set_new} <= ${ALLOWED_TIME_DIFF}
+    ...  ELSE IF  '${bmc_time}' == 'No Change'
+    ...    Should Be True  ${bmc_diff_old_new} <= ${ALLOWED_TIME_DIFF}
+    ...  ELSE IF  '${bmc_time}' == 'Change'
+    ...    Should Be True  ${bmc_diff_old_new} >= ${ALLOWED_TIME_DIFF}
+
+    Run Keyword If  '${host_time}' == 'No Change'
+    ...    Should Be True  ${host_diff_old_new} <= ${ALLOWED_TIME_DIFF}
+    ...  ELSE IF  '${host_time}' == 'Change'
+    ...    Should Be True  ${host_diff_old_new} >= ${ALLOWED_TIME_DIFF}
+    ...  ELSE IF  '${host_time}' == 'Not Set'
+    ...    Should Be True  ${host_diff_set_new} >= ${ALLOWED_TIME_DIFF}
+    ...  ELSE IF  '${host_time}' == 'Set'
+    ...    Should Be True  ${host_diff_set_new} <= ${ALLOWED_TIME_DIFF}
 
 
 Post Test Execution
-    [Documentation]  Perform operations after test execution. It first try to
-    ...              capture FFDC in case of test case failure. Later it sets
-    ...              default values for time mode and owner.
+    [Documentation]  Perform operations after test execution. Capture FFDC
+    ...  in case of test case failure and sets default values for time mode
+    ...  and owner.
 
-    Run Keyword If Test Failed    FFDC On Test Case Fail
-
-    Set Time Mode   NTP
-
-    Set Time Owner   BMC
+    Run Keyword If Test Failed  FFDC On Test Case Fail
+    Set Time Owner  BMC
+    Set Time Mode  NTP
