diff --git a/extended/obmc_boot_test.robot b/extended/obmc_boot_test.robot
index de7a4f6..b17e0c6 100644
--- a/extended/obmc_boot_test.robot
+++ b/extended/obmc_boot_test.robot
@@ -260,7 +260,7 @@
     ...  **ERROR** BMC not in state to power on or off: "${power}"  AND
     ...  Fatal Error
 
-    [return]  ${boot}
+    [Return]  ${boot}
 
 ###############################################################################
 
@@ -277,7 +277,7 @@
     # selecting randomly.
     ${chosen}=  Set Variable  @{power_on_choices}[0]
 
-    [return]  ${chosen}
+    [Return]  ${chosen}
 
 ###############################################################################
 
@@ -294,7 +294,7 @@
     # selecting randomly.
     ${chosen}=  Set Variable  @{power_off_choices}[0]
 
-    [return]  ${chosen}
+    [Return]  ${chosen}
 
 ###############################################################################
 
diff --git a/extended/test_host_network.robot b/extended/test_host_network.robot
index d3b9bf9..e817619 100644
--- a/extended/test_host_network.robot
+++ b/extended/test_host_network.robot
@@ -181,7 +181,7 @@
     ${resp}=   OpenBMC Put Request
     ...    /org/openbmc/settings/host0/attr/network_config    data=${valueDict}
     ${jsondata}=  to json    ${resp.content}
-    [return]    ${jsondata['status']}
+    [Return]    ${jsondata['status']}
 
 Post Test Execution
     [Documentation]  Perform operations after test execution. Captures FFDC
diff --git a/extended/test_networkd_ext.robot b/extended/test_networkd_ext.robot
index 6cd3568..74e8337 100755
--- a/extended/test_networkd_ext.robot
+++ b/extended/test_networkd_ext.robot
@@ -152,7 +152,7 @@
     ${json}=   to json         ${resp.content}
     Log   ${json['data'][2]}
     Log   ${json['data'][3]}
-    [return]    ${json}
+    [Return]    ${json}
 
 
 validateEnvVariables
diff --git a/extended/test_syslog.robot b/extended/test_syslog.robot
index e87c475..b3fe869 100755
--- a/extended/test_syslog.robot
+++ b/extended/test_syslog.robot
@@ -156,7 +156,7 @@
     ${resp}=   openbmc post request
     ...    ${OPENBMC_BASE_URI}LogManager/rsyslog/action/Enable     data=${data}
     ${jsondata}=    to json    ${resp.content}
-    [return]    ${jsondata['status']}
+    [Return]    ${jsondata['status']}
 
 Disable Syslog Setting
     [Arguments]    ${args}
@@ -165,4 +165,4 @@
     ${resp}=   OpenBMC Post Request
     ...    ${OPENBMC_BASE_URI}LogManager/rsyslog/action/Disable      data=${data}
     ${jsondata}=    to json    ${resp.content}
-    [return]    ${jsondata['status']}
+    [Return]    ${jsondata['status']}
diff --git a/lib/boot/reboots.robot b/lib/boot/reboots.robot
index c931ab6..314e10b 100644
--- a/lib/boot/reboots.robot
+++ b/lib/boot/reboots.robot
@@ -64,7 +64,7 @@
 
     ${uptime}  ${idle_time}=  Split String  ${uptime_string}  ${SPACE}
 
-    [return]  ${uptime}
+    [Return]  ${uptime}
 
 Reboot BMC
     Start Command  /sbin/reboot
diff --git a/lib/ipmi_client.robot b/lib/ipmi_client.robot
index dc44b7c..e069543 100755
--- a/lib/ipmi_client.robot
+++ b/lib/ipmi_client.robot
@@ -26,7 +26,7 @@
     ...    Run Dbus IPMI RAW Command   ${args}
     ...          ELSE             Fail
     ...    msg=Invalid IPMI Command type provided : ${IPMI_COMMAND}
-    [return]    ${resp}
+    [Return]    ${resp}
 
 Run IPMI Standard Command
     [Arguments]    ${args}
@@ -37,7 +37,7 @@
     ...          ELSE             Fail
     ...    msg=Invalid IPMI Command type provided : ${IPMI_COMMAND}
 
-    [return]    ${resp}
+    [Return]    ${resp}
 
 Run Dbus IPMI RAW Command
     [Arguments]    ${args}
@@ -55,7 +55,7 @@
     ...    /tmp/ipmitool -I dbus ${args}    return_stdout=True
     ...    return_stderr= True    return_rc=True
     Should Be Equal    ${output}    ${0}    msg=${stderr}
-    [return]    ${stdout}
+    [Return]    ${stdout}
 
 Run External IPMI RAW Command
     [Arguments]    ${args}
@@ -64,7 +64,7 @@
     ...    ${HOST}${SPACE}${OPENBMC_HOST}${SPACE}${RAW}${SPACE}${args}
     ${rc}    ${output}=    Run and Return RC and Output    ${ipmi_raw_cmd}
     Should Be Equal    ${rc}    ${0}    msg=${output}
-    [return]    ${output}
+    [Return]    ${output}
 
 Run External IPMI Standard Command
     [Arguments]    ${args}
@@ -73,7 +73,7 @@
     ...    ${HOST}${SPACE}${OPENBMC_HOST}${SPACE}${args}
     ${rc}    ${output}=    Run and Return RC and Output    ${ipmi_cmd}
     Should Be Equal    ${rc}    ${0}    msg=${output}
-    [return]   ${output}
+    [Return]   ${output}
 
 
 Byte Conversion
@@ -118,7 +118,7 @@
 #   Equivalent dbus-send argument for smaller IPMI raw command:
 #   byte:0x00 byte:0x06 byte:0x00 byte:0x36
     Run Keyword if   ${argLength} == 9     Return from Keyword    ${valueinBytesWithoutArray}
-    [return]    ${valueinBytesWithArray}
+    [Return]    ${valueinBytesWithArray}
 
 
 Set NetFn Byte
diff --git a/lib/list_utils.robot b/lib/list_utils.robot
index 472294b..2c3671c 100644
--- a/lib/list_utils.robot
+++ b/lib/list_utils.robot
@@ -29,4 +29,4 @@
 
     @{intersected_list}=  Remove Duplicates  ${intersected_list}
 
-    [return]  @{intersected_list}
+    [Return]  @{intersected_list}
diff --git a/lib/openbmc_ffdc_utils.robot b/lib/openbmc_ffdc_utils.robot
index 1eba969..c3d85bf 100644
--- a/lib/openbmc_ffdc_utils.robot
+++ b/lib/openbmc_ffdc_utils.robot
@@ -31,7 +31,7 @@
     ${suite_name}=     Catenate  SEPARATOR=    ${FFDC_TIME}_   ${suite_name}
     ${test_name}=      Get strip string   ${TEST_NAME}
     ${test_name}=   Catenate  SEPARATOR=  ${FFDC_TIME}_   ${test_name}
-    [return]  ${suite_name}   ${test_name}
+    [Return]  ${suite_name}   ${test_name}
 
 
 Create FFDC Directory
@@ -57,7 +57,7 @@
     [Documentation]     Get the current time stamp data
     ${cur_time}=    Get Current Date   result_format=%Y-%m-%d %H:%M:%S:%f
     ${cur_time}=    Get strip string   ${cur_time}
-    [return]   ${cur_time}
+    [Return]   ${cur_time}
 
 
 Header Message
diff --git a/lib/rest_client.robot b/lib/rest_client.robot
index 6761762..c7d78df 100644
--- a/lib/rest_client.robot
+++ b/lib/rest_client.robot
@@ -134,7 +134,7 @@
     ${resp}=  OpenBMC Get Request  ${uri}/attr/${attr}  timeout=${timeout}
     ...  quiet=${quiet}
     ${content}=     To Json    ${resp.content}
-    [return]    ${content["data"]}
+    [Return]    ${content["data"]}
 
 Write Attribute
     [Arguments]    ${uri}      ${attr}    ${timeout}=10    &{kwargs}
@@ -149,7 +149,7 @@
     ${resp}=   OpenBMC Get Request    ${uri}    timeout=${timeout}
     Should Be Equal As Strings    ${resp.status_code}    ${HTTP_OK}
     ${content}=     To Json    ${resp.content}
-    [return]    ${content["data"]}
+    [Return]    ${content["data"]}
 
 Call Method
     [Arguments]  ${uri}  ${method}  ${timeout}=10  ${quiet}=${QUIET}  &{kwargs}
@@ -157,4 +157,4 @@
     ${base_uri}=    Catenate    SEPARATOR=    ${DBUS_PREFIX}    ${uri}
     ${resp}=  OpenBmc Post Request  ${base_uri}/action/${method}
     ...  timeout=${timeout}  quiet=${quiet}  &{kwargs}
-    [return]     ${resp}
+    [Return]     ${resp}
diff --git a/lib/utils.robot b/lib/utils.robot
index 6c8099c..fe4e0f4 100755
--- a/lib/utils.robot
+++ b/lib/utils.robot
@@ -51,7 +51,7 @@
 
     ${state}=  Read Attribute  ${OPENBMC_BASE_URI}sensors/host/BootProgress
     ...  value  quiet=${quiet}
-    [return]  ${state}
+    [Return]  ${state}
 
 Is Power On
     ${state}=  Get Power State
@@ -187,7 +187,7 @@
     ...        data=${args}  quiet=${quiet}
     Should be equal as strings  ${resp.status_code}  ${HTTP_OK}
     ${content}=  to json  ${resp.content}
-    [return]  ${content["data"]}
+    [Return]  ${content["data"]}
 
 Get Power State
     [Documentation]  Returns the power state as an integer. Either 0 or 1.
@@ -200,7 +200,7 @@
     ...        data=${args}  quiet=${quiet}
     Should be equal as strings  ${resp.status_code}  ${HTTP_OK}
     ${content}=  to json  ${resp.content}
-    [return]  ${content["data"]}
+    [Return]  ${content["data"]}
 
 Clear BMC Record Log
     [Documentation]  Clears all the event logs on the BMC. This would be
@@ -231,7 +231,7 @@
     [Documentation]  Returns the status of the flash BIOS API as a string. For
     ...              example 'Flashing', 'Flash Done', etc
     ${data}=      Read Properties     ${OPENBMC_BASE_URI}control/flash/bios
-    [return]    ${data['status']}
+    [Return]    ${data['status']}
 
 Is PNOR Flashing
     [Documentation]  Get BIOS 'Flashing' status. This indicates that PNOR
@@ -288,7 +288,7 @@
     ${alive}=   Run Keyword and Return Status
     ...    Open Connection And Log In
     Return From Keyword If   '${alive}' == '${False}'    ${False}
-    [return]    ${True}
+    [Return]    ${True}
 
 Flush REST Sessions
     [Documentation]   Removes all the active session objects
@@ -419,7 +419,7 @@
     [Arguments]    ${i_macaddress}
 
     ${mac_hex}=  Catenate  0x${i_macaddress.replace(':', ' 0x')}
-    [return]    ${mac_hex}
+    [Return]    ${mac_hex}
 
 IP Address To Hex String
     [Documentation]   Converts IP address into hex format.
@@ -438,7 +438,7 @@
     \   Set List Value    ${ip}    ${index}    ${hex}
     \   ${index}=  Set Variable    ${index + 1}
     ${ip_hex}=  Catenate    @{ip}
-    [return]    ${ip_hex}
+    [Return]    ${ip_hex}
 
 BMC CPU Performance Check
    [Documentation]   Minimal 10% of proc should be free in this instance
@@ -493,7 +493,7 @@
 
     ${list}=   Get Dictionary Keys   ${resp}
     ${resp}=   Get Matches   ${list}   regexp=^.*[0-9a-z_].${endpoint}[0-9]*$
-    [return]   ${resp}
+    [Return]   ${resp}
 
 Check Zombie Process
     [Documentation]    Check if any defunct process exist or not on BMC
diff --git a/tests/test_association.robot b/tests/test_association.robot
index ea0fc6c..b348e38 100755
--- a/tests/test_association.robot
+++ b/tests/test_association.robot
@@ -252,7 +252,7 @@
     ${resp}=   openbmc get request   ${EVENT_RECORD}
     should be equal as strings    ${resp.status_code}    ${HTTP_OK}
     ${jsondata}=    to json    ${resp.content}
-    [return]    ${jsondata['data']}
+    [Return]    ${jsondata['data']}
 
 Create a test log
     [Arguments]
@@ -263,7 +263,7 @@
     ${json}=   to json         ${resp.content}
     ${LOGID}=    convert to integer    ${json['data']}
     ${uri}=     catenate    SEPARATOR=   ${EVENT_RECORD}   ${LOGID}
-    [return]  ${uri}
+    [Return]  ${uri}
 
 Clear all logs
     ${resp}=   openbmc post request
diff --git a/tests/test_esel.robot b/tests/test_esel.robot
index 16d284a..739d37c 100644
--- a/tests/test_esel.robot
+++ b/tests/test_esel.robot
@@ -50,16 +50,16 @@
 Run IPMI Command Returned
     [Arguments]    ${args}
     ${output_1}=    Execute Command    /tmp/ipmitool -I dbus raw ${args}
-    [return]    ${output_1}
+    [Return]    ${output_1}
 
 Check IPMI Oempartialadd Reject
     [Arguments]    ${args}
     ${stdout}    ${stderr}    ${output_2}=  Execute Command    /tmp/ipmitool -I dbus raw ${args}    return_stdout=True    return_stderr= True    return_rc=True
-    [return]    ${stderr}
+    [Return]    ${stderr}
 
 Check IPMI Oempartialadd Accept
     [Arguments]    ${args}
     ${stdout}    ${stderr}    ${output_3}=    Execute Command    /tmp/ipmitool -I dbus raw ${args}    return_stdout=True    return_stderr= True    return_rc=True
     Should Be Equal    ${output_3}    ${0}    msg=${stderr}
-    [return]    ${stderr}
+    [Return]    ${stderr}
 
diff --git a/tests/test_eventlog.robot b/tests/test_eventlog.robot
index 89f7d04..60083e0 100644
--- a/tests/test_eventlog.robot
+++ b/tests/test_eventlog.robot
@@ -228,4 +228,4 @@
     ${json}=   to json         ${resp.content}
     ${LOGID}=    convert to integer    ${json['data']}
     ${uri}=     catenate    SEPARATOR=   ${EVENT_RECORD}   ${LOGID}
-    [return]  ${uri}
+    [Return]  ${uri}
diff --git a/tests/test_inventory.robot b/tests/test_inventory.robot
index a733678..1907ceb 100644
--- a/tests/test_inventory.robot
+++ b/tests/test_inventory.robot
@@ -94,7 +94,7 @@
     \       Append To List   ${l}   ${SYSTEM_INFO['${element}']['present']}
 
     ${sum}=        Get Count       ${l}    True
-    [return]        ${sum}
+    [Return]        ${sum}
 
 Verify Properties
     [Arguments]     ${type}
diff --git a/tests/test_led.robot b/tests/test_led.robot
index 51e3eb5..b31c384 100644
--- a/tests/test_led.robot
+++ b/tests/test_led.robot
@@ -203,7 +203,7 @@
    ${resp}=   OpenBMC Post Request   ${LED_CONTROL}${args}/action/GetLedState   data=${data}
    should be equal as strings   ${resp.status_code}   ${HTTP_OK}
    ${json}=   to json   ${resp.content}
-   [return]    ${json['data'][1]}
+   [Return]    ${json['data'][1]}
 
 Set On
    [Arguments]    ${args}
diff --git a/tests/test_networkd.robot b/tests/test_networkd.robot
index 1e084fc..242b163 100755
--- a/tests/test_networkd.robot
+++ b/tests/test_networkd.robot
@@ -151,7 +151,7 @@
     ${json}=   to json         ${resp.content}
     log to console   ${json['data'][2]}
     log to console   ${json['data'][3]}
-    [return]    ${json}
+    [Return]    ${json}
 
 AddNetworkInfo
     [Arguments]    ${intf}      ${address}    ${mask}   ${gateway}  ${result}
diff --git a/tests/test_occ_powercap.robot b/tests/test_occ_powercap.robot
index e5ce8f0..35b1a2c 100644
--- a/tests/test_occ_powercap.robot
+++ b/tests/test_occ_powercap.robot
@@ -101,17 +101,17 @@
     ${resp}=   OpenBMC Get Request
     ...    ${SENSORS_URI}powercap/min_cap
     ${jsondata}=   To Json    ${resp.content}
-    [return]    ${jsondata["data"]["value"]}
+    [Return]    ${jsondata["data"]["value"]}
 
 Get Maximum PowerCap
     ${resp}=   OpenBMC Get Request   ${SENSORS_URI}powercap/max_cap
     ${jsondata}=   To Json    ${resp.content}
-    [return]    ${jsondata["data"]["value"]}
+    [Return]    ${jsondata["data"]["value"]}
 
 Get User PowerCap
     ${resp}=   OpenBMC Get Request   ${SENSORS_URI}powercap/user_cap
     ${jsondata}=   To Json    ${resp.content}
-    [return]    ${jsondata["data"]["value"]}
+    [Return]    ${jsondata["data"]["value"]}
 
 Set PowerCap
     [Arguments]    ${powercap_value}
@@ -119,13 +119,13 @@
     ${data}=   create dictionary   data=@{pcap_list}
     ${resp}=   openbmc post request
     ...    ${SENSORS_URI}host/powercap/action/setValue      data=${data}
-    [return]    ${resp}
+    [Return]    ${resp}
 
 Get PowerCap
     ${resp}=   OpenBMC Get Request
     ...    ${SENSORS_URI}host/powercap
     ${jsondata}=   To Json    ${resp.content}
-    [return]    ${jsondata["data"]["value"]}
+    [Return]    ${jsondata["data"]["value"]}
 
 Get OCC status link
     ${resp}=    OpenBMC Get Request
@@ -142,7 +142,7 @@
     ${data}=   create dictionary   data=@{EMPTY}
     ${resp}=   openbmc post request    ${occstatus_link}/action/getValue      data=${data}
     ${jsondata}=   To Json    ${resp.content}
-    [return]    ${jsondata["data"]}
+    [Return]    ${jsondata["data"]}
 
 Get Chassis URI
     ${resp}=    OpenBMC Get Request     ${OPENBMC_BASE_URI}control/
diff --git a/tests/test_sensors.robot b/tests/test_sensors.robot
index 72c5d71..699d857 100644
--- a/tests/test_sensors.robot
+++ b/tests/test_sensors.robot
@@ -292,7 +292,7 @@
     ${list}=    Get Dictionary Keys    ${SYSTEM_INFO}
     ${resp}=    Get Matches    ${list}    regexp=^.*[0-9a-z_].${type}[0-9]*$
     ${url}=    Get From List    ${resp}    0
-    [return]    ${url}
+    [Return]    ${url}
 
 Execute new Command
     [Arguments]    ${args}
@@ -314,9 +314,9 @@
 Get Sensor Number
     [Arguments]  ${name}
     ${x}=       get sensor   ${OPENBMC_MODEL}   ${name}
-    [return]     ${x}
+    [Return]     ${x}
 
 Get Inventory Sensor Number
     [Arguments]  ${name}
     ${x}=       get inventory sensor   ${OPENBMC_MODEL}   ${name}
-    [return]     ${x}
+    [Return]     ${x}
diff --git a/tests/test_time.robot b/tests/test_time.robot
index 71f458e..3c13f49 100755
--- a/tests/test_time.robot
+++ b/tests/test_time.robot
@@ -148,7 +148,7 @@
     ${resp}=     Convert Date    ${stdout}     date_format=%m/%d/%Y %H:%M:%S
     ...          exclude_millis=yes
     Should Not Be Empty    ${resp}
-    [return]    ${resp}
+    [Return]    ${resp}
 
 Set Time Owner
     [Arguments]    ${args}
@@ -158,7 +158,7 @@
     ${resp}=   OpenBMC Put Request
     ...    ${SETTING_HOST}/attr/time_owner    data=${valueDict}
     ${jsondata}=    to json    ${resp.content}
-    [return]    ${jsondata['status']}
+    [Return]    ${jsondata['status']}
 
 Set Time Mode
     [Arguments]    ${args}
@@ -168,7 +168,7 @@
     ${resp}=   OpenBMC Put Request
     ...   ${SETTING_HOST}/attr/time_mode    data=${valueDict}
     ${jsondata}=    to json    ${resp.content}
-    [return]    ${jsondata['status']}
+    [Return]    ${jsondata['status']}
 
 
 Post Test Execution
diff --git a/tests/test_user.robot b/tests/test_user.robot
index 58316bf..89739a6 100755
--- a/tests/test_user.robot
+++ b/tests/test_user.robot
@@ -280,7 +280,7 @@
     ...   ${USER_MANAGER_URI}Users/action/UserList   data=${data}
     should be equal as strings    ${resp.status_code}    ${HTTP_OK}
     ${jsondata}=    to json    ${resp.content}
-    [return]    ${jsondata['data']}
+    [Return]    ${jsondata['data']}
 
 Get GroupListUsr
     ${data}=   create dictionary   data=@{EMPTY}
@@ -288,7 +288,7 @@
     ...   ${USER_MANAGER_URI}/Groups/action/GroupListUsr   data=${data}
     should be equal as strings    ${resp.status_code}    ${HTTP_OK}
     ${jsondata}=    to json    ${resp.content}
-    [return]    ${jsondata['data']}
+    [Return]    ${jsondata['data']}
 
 Create User
     [Arguments]    ${comment}    ${username}    ${groupname}    ${password}
@@ -297,7 +297,7 @@
     ${resp}=   OpenBMC Post Request
     ...    ${USER_MANAGER_URI}Users/action/UserAdd      data=${data}
     ${jsondata}=    to json    ${resp.content}
-    [return]    ${jsondata['status']}
+    [Return]    ${jsondata['status']}
 
 Change Password
     [Arguments]    ${username}    ${password}
@@ -306,7 +306,7 @@
     ${resp}=   OpenBMC Post Request
     ...    ${USER_MANAGER_URI}User/action/Passwd      data=${data}
     ${jsondata}=    to json    ${resp.content}
-    [return]    ${jsondata['status']}
+    [Return]    ${jsondata['status']}
 
 Create UserGroup
     [Arguments]    ${args}
@@ -315,7 +315,7 @@
     ${resp}=   OpenBMC Post Request
     ...    ${USER_MANAGER_URI}Groups/action/GroupAddUsr      data=${data}
     ${jsondata}=    to json    ${resp.content}
-    [return]    ${jsondata['status']}
+    [Return]    ${jsondata['status']}
 
 Delete Group
     [Arguments]    ${args}
@@ -324,7 +324,7 @@
     ${resp}=   OpenBMC Post Request
     ...    ${USER_MANAGER_URI}Group/action/GroupDel      data=${data}
     ${jsondata}=    to json    ${resp.content}
-    [return]    ${jsondata['status']}
+    [Return]    ${jsondata['status']}
 
 Delete User
     [Arguments]    ${args}
@@ -333,10 +333,10 @@
     ${resp}=   OpenBMC Post Request
     ...    ${USER_MANAGER_URI}User/action/Userdel      data=${data}
     ${jsondata}=    to json    ${resp.content}
-    [return]    ${jsondata['status']}
+    [Return]    ${jsondata['status']}
 
 Login BMC
     [Arguments]    ${username}    ${password}
     Open connection     ${OPENBMC_HOST}
     ${resp}=   Login   ${username}    ${password}
-    [return]    ${resp}
+    [Return]    ${resp}
