jmajors marked 7 inline comments as done.
jmajors added inline comments.

================
Comment at: unittests/tools/lldb-server/tests/MessageObjects.cpp:142
+    llvm::support::endianness endian) {
+  auto stop_reply = std::shared_ptr<StopReply>(new StopReply());
+
----------------
labath wrote:
> jmajors wrote:
> > zturner wrote:
> > > Can you use `llvm::make_shared<StopReply>()` here?  Probably doesn't 
> > > matter much, but it's good practice to use `make_shared<>` wherever 
> > > possible since it uses less memory.
> > I wanted to keep my constructors protected, to force the use of Create(). 
> > make_shared doesn't work with protected constructors.
> I raise the bet to `llvm::make_unique` ;). shared pointers lead to messy 
> ownership semantics, we should only use them when absolutely necessary, and I 
> don't think that is the case here.
Since I'm returning copies of the pointer container in getter functions, I 
think I need shared, not unique.


================
Comment at: unittests/tools/lldb-server/tests/MessageObjects.cpp:189
+    if (key.size() >= 9 && key[0] == 'T' && key.substr(3, 6) == "thread") {
+      val.getAsInteger(16, stop_reply->thread);
+      key.substr(1, 2).getAsInteger(16, stop_reply->signal);
----------------
labath wrote:
> zturner wrote:
> > Is error checking needed here?
> More error checking definitely needed (here and everywhere else). If I break 
> lldb-server while working on it, I'd like to see a clear error message from 
> the test rather than an obscure crash. This should return 
> `Expected<StopReply>` if you don't care about copying or 
> `Expected<std::unique_ptr<StopReply>>` if you do (*), so that the test can 
> ASSERT that the message was received and parsed correctly and print out the 
> error otherwise.
> 
> (*) Or the out argument idea I wrote about earlier.
I converted my pointer containers to Expected<unique_ptr<Type>>. 
I noticed that ASSERT_* doesn't fail the test, it returns, so I need to make 
the functions in TestClient return Error or Expected<> objects and check them 
in the test body.


https://reviews.llvm.org/D32930



_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to