labath added a comment. Thanks. This looks good to me, but given that this is going to become a stable api that well need to maintain for a looong time, I'd like to get signoff from someone else as well. @jingham maybe ?
================ Comment at: lldb/include/lldb/API/SBDefines.h:95 class LLDB_API SBUnixSignals; +class LLDB_API SBFile; ---------------- Sort this list ? ================ Comment at: lldb/packages/Python/lldbsuite/test/python_api/file_handle/TestFileHandle.py:27 + +def handle_command(debugger, cmd, raise_on_fail=True, collect_result=True): + ---------------- Please add a comment to explain why is this needed (I guess that has something to do with needing more control over the command output stream), because superficially it looks like you're reimplementing `TestBase.runCmd` here. ================ Comment at: lldb/packages/Python/lldbsuite/test/python_api/file_handle/TestFileHandle.py:37-38 + + if collect_result and raise_on_fail and not ret.Succeeded(): + raise Exception + ---------------- Maybe instead of `raise_on_fail` this should be called `check` (in analogy to runCmd function), and instead of raising an exception you could assert that ret.Succeeded() is true? ================ Comment at: lldb/packages/Python/lldbsuite/test/python_api/file_handle/TestFileHandle.py:52 + try: + with open('output', 'w') as f: + debugger.SetOutputFileHandle(f, False) ---------------- I believe all of these will end up writing to the source tree. Could you try replacing that with `self.getBuildArtifact("output")` ? ================ Comment at: lldb/packages/Python/lldbsuite/test/python_api/file_handle/TestFileHandle.py:127-132 + + + + + + ---------------- delete ================ Comment at: lldb/scripts/interface/SBFile.i:36 + + bool IsValid() const; + ---------------- add operator bool here. I'm not sure if swig handles operator!, but if it does, then we should add that too. ================ Comment at: lldb/source/API/SBFile.cpp:1 +//===-- SBFile.cpp ------------------------------------------*- C++ -*-===// +// ---------------- I think you'll need to add the reproducer boilerplate to this file. I think it should be possible to do that automatically via lldb-instr, but I've never done that. @JDevlieghere should be able to help here. ================ Comment at: lldb/source/Host/common/File.cpp:72-74 + if (mode.empty()) + return 0; + return llvm::StringSwitch<uint32_t>(mode.str()) ---------------- I know you're just copying, but could you remove the `.str()` call the `.empty() check, as neither of them are really needed here. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D67793/new/ https://reviews.llvm.org/D67793 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits