diff --git a/libraries/k8s.robot b/libraries/k8s.robot
index 9a21190..52ad12c 100644
--- a/libraries/k8s.robot
+++ b/libraries/k8s.robot
@@ -89,14 +89,17 @@
 Validate Pod Status
     [Arguments]    ${pod_name}    ${namespace}   ${expectedStatus}
     [Documentation]    To run the kubectl command and check the status of the given pod matches the expected status
-    ${length}=    Run    kubectl get pod -n ${namespace} | wc -l
-    FOR    ${index}    IN RANGE    ${length}-1
+    ${length}=    Run    kubectl get pod -n ${namespace} -o name | wc -l
+    ${matched}=    Set Variable    False
+    FOR    ${index}    IN RANGE    ${length}
         ${currentPodName}=    Run
         ...    kubectl get pod -n ${namespace} -o=jsonpath="{.items[${index}].status.containerStatuses[0].name}"
         Log    Required Pod : ${pod_name}
         Log    Current Pod: ${currentPodName}
-        Run Keyword and Ignore Error    Run Keyword If    '${currentPodName}'=='${pod_name}'    Exit For Loop
+        ${matched}=    Set Variable If    '${currentPodName}'=='${pod_name}'    True    False
+        Exit For Loop If    ${matched}
     END
+    Should Be True    ${matched}    No pod ${podname} found
     ${currentStatusofPod}=    Run
     ...    kubectl get pod -n ${namespace} -o=jsonpath="{.items[${index}].status.phase}"
     Log    ${currentStatusofPod}
@@ -268,7 +271,7 @@
     [Documentation]    Succeeds it the named POD exists
     ${rc}    ${count}    Run and Return Rc
     ...    kubectl get -n ${namespace} pod -o json | jq -r ".items[].metadata.name" | grep ${name}
-    Should Be True    ${count}>0
+    Should Be True    ${count}>0    Pod ${name} not found
 
 Pod Does Not Exist
     [Arguments]    ${namespace}    ${name}
@@ -276,7 +279,7 @@
     ${rc}    ${count}    Run and Return Rc And Output
     ...    kubectl get -n ${namespace} pod -o json | jq -r ".items[].metadata.name" | grep -c ${name}
     Should Be Equal As Integers    ${count}    0
-    Should Be True    ${count}==0
+    Should Be True    ${count}==0    Pod ${name} exists but should not
 
 Pods Do Not Exist By Label
     [Arguments]    ${namespace}    ${key}    ${value}
@@ -284,7 +287,7 @@
     ${rc}    ${count}    Run and Return Rc And Output
     ...    kubectl get -n ${namespace} pod -l${key}=${value} -o json | jq -r ".items[].metadata.name" | wc -l
     Should Be Equal As Integers    ${count}    0
-    Should Be True    ${count}==0
+    Should Be True    ${count}==0    Pod with label ${key}=${value} exists but should not
 
 Get Available Deployment Replicas
     [Arguments]    ${namespace}    ${name}
diff --git a/libraries/onos.robot b/libraries/onos.robot
index 3160c6c..921ca50 100644
--- a/libraries/onos.robot
+++ b/libraries/onos.robot
@@ -33,13 +33,15 @@
     Should Not Be Empty    ${jsondata['devices']}
     ${length}=    Get Length    ${jsondata['devices']}
     @{serial_numbers}=    Create List
+    ${matched}=    Set Variable    False
     FOR    ${INDEX}    IN RANGE    0    ${length}
         ${value}=    Get From List    ${jsondata['devices']}    ${INDEX}
         ${of_id}=    Get From Dictionary    ${value}    id
         ${sn}=    Get From Dictionary    ${value}    serial
-        Run Keyword If    '${sn}' == '${serial_number}'    Exit For Loop
+        ${matched}=    Set Variable If    '${sn}' == '${serial_number}'    True    False
+        Exit For Loop If    ${matched}
     END
-    Should Be Equal As Strings    ${sn}    ${serial_number}
+    Should Be True    ${matched}    No match for ${serial_number} found
     [Return]    ${of_id}
 
 Get ONU Port in ONOS
@@ -51,14 +53,16 @@
     Should Not Be Empty    ${jsondata['ports']}
     ${length}=    Get Length    ${jsondata['ports']}
     @{ports}=    Create List
+    ${matched}=    Set Variable    False
     FOR    ${INDEX}    IN RANGE    0    ${length}
         ${value}=    Get From List    ${jsondata['ports']}    ${INDEX}
         ${annotations}=    Get From Dictionary    ${value}    annotations
         ${onu_port}=    Get From Dictionary    ${value}    port
         ${portName}=    Get From Dictionary    ${annotations}    portName
-        Run Keyword If    '${portName}' == '${onu_serial_number}'    Exit For Loop
+        ${matched}=    Set Variable If    '${portName}' == '${onu_serial_number}'    True    False
+        Exit For Loop If    ${matched}
     END
-    Should Be Equal As Strings    ${portName}    ${onu_serial_number}
+    Should Be True    ${matched}    No match for ${onu_serial_number} found
     [Return]    ${onu_port}
 
 Get FabricSwitch in ONOS
@@ -67,12 +71,15 @@
     ${jsondata}=    To Json    ${resp.content}
     Should Not Be Empty    ${jsondata['devices']}
     ${length}=    Get Length    ${jsondata['devices']}
+    ${matched}=    Set Variable    False
     FOR    ${INDEX}    IN RANGE    0    ${length}
         ${value}=    Get From List    ${jsondata['devices']}    ${INDEX}
         ${of_id}=    Get From Dictionary    ${value}    id
         ${type}=    Get From Dictionary    ${value}    type
-        Run Keyword If    '${type}' == "SWITCH"    Exit For Loop
+        ${matched}=    Set Variable If    '${type}' == "SWITCH"    True    False
+        Exit For Loop If    ${matched}
     END
+    Should Be True    ${matched}    No fabric switch found
     [Return]    ${of_id}
 
 Verify Eapol Flows Added
diff --git a/libraries/utils.robot b/libraries/utils.robot
index 59a6e55..e2cb049 100644
--- a/libraries/utils.robot
+++ b/libraries/utils.robot
@@ -92,15 +92,17 @@
         ...    wpa_cli -i ${iface} reassociate    ${ip}    ${user}
         ...    ${pass}    ${container_type}    ${container_name}
         ${passed}=    Run Keyword And Return Status    Should Contain    ${output}    OK
-        Run Keyword If    ${passed}    Exit For Loop
+        Exit For Loop If    ${passed}
     END
+    Should Be True    ${passed}    Status does not contain 'SUCCESS'
     FOR    ${i}    IN RANGE    70
         ${output}=    Login And Run Command On Remote System
         ...    wpa_cli -i ${iface} status | grep SUCCESS    ${ip}    ${user}
         ...    ${pass}    ${container_type}    ${container_name}
         ${passed}=    Run Keyword And Return Status    Should Contain    ${output}    SUCCESS
-        Run Keyword If    ${passed}    Exit For Loop
+        Exit For Loop If    ${passed}
     END
+    Should Be True    ${passed}    Status does not contain 'SUCCESS'
 
 Validate Authentication After Reassociate
     [Arguments]    ${auth_pass}    ${iface}    ${ip}    ${user}    ${pass}=${None}
diff --git a/libraries/voltctl.robot b/libraries/voltctl.robot
index f35d171..d48d693 100644
--- a/libraries/voltctl.robot
+++ b/libraries/voltctl.robot
@@ -154,10 +154,9 @@
         ${devId}=    Get From Dictionary    ${value}    id
         ${mib_state}=    Get From Dictionary    ${value}    reason
         ${matched}=    Set Variable If    '${sn}' == '${id}' or '${devId}' == '${id}'    True    False
-        Run Keyword If    ${matched}    Exit For Loop
+        Exit For Loop If    ${matched}
     END
-    Should Be True    ${matched}
-    ...    No match found for ${id} to validate device
+    Should Be True    ${matched}    No match found for ${id} to validate device
     Log    ${value}
     Should Be Equal    '${astate}'    '${admin_state}'    Device ${sn} admin_state != ${admin_state}
     ...    values=False
@@ -298,12 +297,15 @@
     ${jsondata}=    To Json    ${output}
     Log    ${jsondata}
     ${length}=    Get Length    ${jsondata}
+    ${matched}=    Set Variable    False
     FOR    ${INDEX}    IN RANGE    0    ${length}
         ${value}=    Get From List    ${jsondata}    ${INDEX}
         ${type}=    Get From Dictionary    ${value}    type
         ${peers}=    Get From Dictionary    ${value}    peers
-        Run Keyword If    '${type}' == 'PON_OLT'    Exit For Loop
+        ${matched}=    Set Variable If    '${type}' == 'PON_OLT'    True    False
+        Exit For Loop If    ${matched}
     END
+    Should Be True    ${matched}    No PON port found for OLT ${olt_device_id}
     ${length}=    Get Length    ${peers}
     FOR    ${INDEX}    IN RANGE    0    ${length}
         ${value}=    Get From List    ${peers}    ${INDEX}
@@ -326,12 +328,14 @@
     ${jsondata}=    To Json    ${output}
     Log    ${jsondata}
     ${length}=    Get Length    ${jsondata}
+    ${matched}=    Set Variable    False
     FOR    ${INDEX}    IN RANGE    0    ${length}
         ${value}=    Get From List    ${jsondata}    ${INDEX}
         ${devid}=    Get From Dictionary    ${value}    id
-        Run Keyword If    '${devid}' == '${olt_peer_id}'    Exit For Loop
-        Run Keyword If    '${INDEX}' == '${length}'    Fail    Peer id ${olt_peer_id} does not match any ONU device id;
+        ${matched}=    Set Variable If    '${devid}' == '${olt_peer_id}'    True    False
+        Exit For Loop If    ${matched}
     END
+    Should Be True    ${matched}    Peer id ${olt_peer_id} does not match any ONU device id
 
 Validate ONU Peer Id
     [Arguments]    ${olt_device_id}    ${List_ONU_Serial}
@@ -350,12 +354,15 @@
     ${jsondata}=    To Json    ${output}
     Log    ${jsondata}
     ${length}=    Get Length    ${jsondata}
+    ${matched}=    Set Variable    False
     FOR    ${INDEX}    IN RANGE    0    ${length}
         ${value}=    Get From List    ${jsondata}    ${INDEX}
         ${type}=    Get From Dictionary    ${value}    type
         ${peers}=    Get From Dictionary    ${value}    peers
-        Run Keyword If    '${type}' == 'PON_ONU'    Exit For Loop
+        ${matched}=    Set Variable If    '${type}' == 'PON_ONU'    True    False
+        Exit For Loop If    ${matched}
     END
+    Should Be True    ${matched}    No PON port found for ONU ${onu_dev_id}
     ${length}=    Get Length    ${peers}
     FOR    ${INDEX}    IN RANGE    0    ${length}
         ${value}=    Get From List    ${peers}    ${INDEX}
diff --git a/tests/functional/Voltha_AlarmTests.robot b/tests/functional/Voltha_AlarmTests.robot
index c0b2326..be8f104 100755
--- a/tests/functional/Voltha_AlarmTests.robot
+++ b/tests/functional/Voltha_AlarmTests.robot
@@ -416,13 +416,15 @@
 Raise Onu Alarm
     [Documentation]    Raise an Alarm
     [Arguments]    ${name}    ${sn}
-    ${raiseOutput}    Exec Pod    ${BBSIMCTL_NAMESPACE}     ${BBSIMCTL_POD_NAME}    bbsimctl onu alarms raise ${name} ${sn}
+    ${raiseOutput}    Exec Pod    ${BBSIMCTL_NAMESPACE}     ${BBSIMCTL_POD_NAME}
+    ...    bbsimctl onu alarms raise ${name} ${sn}
     Should Contain    ${raiseOutput}    Alarm Indication Sent
 
 Clear Onu Alarm
     [Documentation]    Raise an Alarm
     [Arguments]    ${name}    ${sn}
-    ${raiseOutput}    Exec Pod    ${BBSIMCTL_NAMESPACE}     ${BBSIMCTL_POD_NAME}    bbsimctl onu alarms clear ${name} ${sn}
+    ${raiseOutput}    Exec Pod    ${BBSIMCTL_NAMESPACE}     ${BBSIMCTL_POD_NAME}
+    ...    bbsimctl onu alarms clear ${name} ${sn}
     Should Contain    ${raiseOutput}    Alarm Indication Sent
 
 # Olt Alarms
@@ -450,13 +452,15 @@
 Raise Olt Alarm
     [Documentation]    Raise an Alarm
     [Arguments]    ${name}    ${intf_id}
-    ${raiseOutput}    Exec Pod    ${BBSIMCTL_NAMESPACE}     ${BBSIMCTL_POD_NAME}    bbsimctl olt alarms raise ${name} ${intf_id}
+    ${raiseOutput}    Exec Pod    ${BBSIMCTL_NAMESPACE}     ${BBSIMCTL_POD_NAME}
+    ...    bbsimctl olt alarms raise ${name} ${intf_id}
     Should Contain    ${raiseOutput}    Alarm Indication Sent
 
 Clear Olt Alarm
     [Documentation]    Raise an Alarm
     [Arguments]    ${name}    ${intf_id}
-    ${raiseOutput}    Exec Pod    ${BBSIMCTL_NAMESPACE}     ${BBSIMCTL_POD_NAME}    bbsimctl olt alarms clear ${name} ${intf_id}
+    ${raiseOutput}    Exec Pod    ${BBSIMCTL_NAMESPACE}     ${BBSIMCTL_POD_NAME}
+    ...    bbsimctl olt alarms clear ${name} ${intf_id}
     Should Contain    ${raiseOutput}    Alarm Indication Sent
 
 Get Device Event
