[Lldb-commits] [PATCH] D24591: [LIT] First pass of LLDB LIT support

Jim Ingham via lldb-commits lldb-commits at lists.llvm.org
Wed Sep 14 17:01:29 PDT 2016


> On Sep 14, 2016, at 3:51 PM, Zachary Turner <zturner at google.com> wrote:
> 
> zturner added a comment.
> 
> Also, it occurred to me that if all tests were like this (and yes, that's a tall order to imagine a world where not a single test was written using the Python API), we could probably actually drop the Python 3.5 requirement on Windows.
> 
> Another thing that's nice about tests like this is that it makes it trivial to see how to reproduce a failure.  It's currently very hard to debug failures because you have to first figure out where in the test it's failing (i.e. what line of python), then attach to the python executable and try to get a breakpoint on the native code side in the right SB API call matching up with the place where you determined the test is failing.  This is really a pain without a debugger that supports mixed<->native transitions between python and c++, and even with a debugger that does support it like we have on Windows, it often doesn't work very well or exhibits flakiness.

I must admit, I have never found analyzing individual test failures to be particularly difficult.  The test suite tells you exactly which line failed in the test suite.  Most of the time looking at the failure line will tell you how to repro the problem with just the test binary.  The rest of the time I can go put a few printf's around that line, and quickly figure out what is going wrong.  Python is great for this sort of iterative exploration.  Once you know what fails, run "dotest -d" attach, break at the SB API that is causing the problem and start debugging.  

Jim

> 
> 
> https://reviews.llvm.org/D24591
> 
> 
> 



More information about the lldb-commits mailing list