+ ${emptiness_status} ${result} = BuiltIn.Run_Keyword_And_Ignore_Error BuiltIn.Should_Be_Empty ${stderr}
+ ${success} = BuiltIn.Set_Variable_If (${rc} == 0) and (("${emptiness_status}" == "PASS") or not ${stderr_must_be_empty}) True False
+ BuiltIn.Run_Keyword_If (${log_on_success} and ${success}) or (${log_on_failure} and not ${success}) Log_Command_Results ${stdout} ${stderr} ${rc}
+ BuiltIn.Return_From_Keyword_If ${return_success_only} ${success}
+ BuiltIn.Return_From_Keyword_If ${success} ${stdout}
+ BuiltIn.Fail Got rc: ${rc} or stdout was not empty: ${stdout}
+
+Execute_Command_Should_Pass
+ [Arguments] ${command} ${log_on_success}=True ${log_on_failure}=True ${stderr_must_be_empty}=False
+ [Documentation] A wrapper for Execute_Command_Passes with return_success_only=False
+ ... Also, log_on_success defaults to True (but is customizable, unlike return_success_only)..
+ BuiltIn.Run_Keyword_And_Return Execute_Command_Passes ${command} return_success_only=False log_on_success=${log_on_success} log_on_failure=${log_on_failure} stderr_must_be_empty=${stderr_must_be_empty}
+
+Log_Command_Results
+ [Arguments] ${stdout} ${stderr} ${rc}
+ [Documentation] Log everything returned by SSHLibrary.Execute_Command