DavidSpickett added inline comments.

================
Comment at: 
lldb/test/API/tools/lldb-server/memory-tagging/TestGdbRemoteMemoryTagging.py:56
         # Run the packet stream
         context = self.expect_gdbremote_sequence()
         self.assertIsNotNone(context)
----------------
omjavaid wrote:
> This test is still not stable given we wait for stop notification while 
> process may have exited. This causes test to hang till timeout expiry.
Sure, but I don't think there's a better way to do it. Short of reading from a 
process that's already exited. (which seems to sort of work for memory but tags 
have weird results so I don't think it's meant to work)

Note that the test file does pause after the print: 
https://github.com/llvm/llvm-project/blob/main/lldb/test/API/tools/lldb-server/memory-tagging/main.c#L16

We've got a few scenarios:
* All goes well, we get the print. The test program is in it's delay and we 
stop it.
* The test crashes at some point before sending the stop. The test program 
waits 60s then exits.
* The test program crashes before printing. The test waits on the print until 
it times out.
* The test picks up the print just as the test program is exiting, or has 
already exited. The test times out waiting for the stop response.

It's not free of timing issues but it means that you won't have either test or 
test program hanging around if either fails.

What do you think?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D105180/new/

https://reviews.llvm.org/D105180

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

Reply via email to