with recording(self, trace) as sbuf:
print("looking at:", output, file=sbuf)
- if output is None:
- output = ""
# The heading says either "Expecting" or "Not expecting".
heading = "Expecting" if matching else "Not expecting"
class CommandInterpreterAPICase(TestBase):
mydir = TestBase.compute_mydir(__file__)
+ NO_DEBUG_INFO_TESTCASE = True
def setUp(self):
# Call super's setUp().
if self.TraceOn():
lldbutil.print_stacktraces(process)
+
+ @add_test_categories(['pyapi'])
+ def test_command_output(self):
+ """Test command output handling."""
+ ci = self.dbg.GetCommandInterpreter()
+ self.assertTrue(ci, VALID_COMMAND_INTERPRETER)
+
+ # Test that a command which produces no output returns "" instead of
+ # None.
+ res = lldb.SBCommandReturnObject()
+ ci.HandleCommand("settings set use-color false", res)
+ self.assertTrue(res.Succeeded())
+ self.assertIsNotNone(res.GetOutput())
+ self.assertEquals(res.GetOutput(), "")
+ self.assertIsNotNone(res.GetError())
+ self.assertEquals(res.GetError(), "")
LLDB_RECORD_METHOD_NO_ARGS(const char *, SBCommandReturnObject, GetOutput);
if (m_opaque_up) {
- llvm::StringRef output = m_opaque_up->GetOutputData();
- ConstString result(output.empty() ? llvm::StringRef("") : output);
-
- return result.AsCString();
+ ConstString output(m_opaque_up->GetOutputData());
+ return output.AsCString(/*value_if_empty*/ "");
}
return nullptr;
LLDB_RECORD_METHOD_NO_ARGS(const char *, SBCommandReturnObject, GetError);
if (m_opaque_up) {
- llvm::StringRef output = m_opaque_up->GetErrorData();
- ConstString result(output.empty() ? llvm::StringRef("") : output);
- return result.AsCString();
+ ConstString output(m_opaque_up->GetErrorData());
+ return output.AsCString(/*value_if_empty*/ "");
}
return nullptr;