[PATCH] D14706: [lit] Implement support of per test timeout in lit.

Chris Matthews via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 18 10:53:59 PST 2015


Sorry, I was using some silly terminology.  To be compatible the Jenkins and JUnit the xunit reports use the XML field “stacktrace” as the what-went-wrong message.  So that is the part of the report that should say there was a timeout.

As a developer, test timed out is not the most useful feedback. So, timeout while running this command is a more useful error message, you immediately know what to try on the command line to reproduce.

What I would really love is some help for the developer.  Blah timed out is a bad scenario, it basically means “Im hung, but I won’t tell you where”, now go and try and figure that out our reproduce me somewhere else.  On Darwin (and I assume Linux too?) there are tools like spindump to give you a stack shot of a hanging process.  If we could do something like that, that would be wonderful. Then you get a real stack trace of your hang, right in the test output.  Since hangs are so hard to reproduce and diagnose, I think this would be a big win.  I don’t know how to do this in a OS agnostic way though? 

> On Nov 18, 2015, at 1:39 AM, Dan Liew <dan at su-root.co.uk> wrote:
> 
> Hi,
> 
> On 17 November 2015 at 20:10, Chris Matthews <chris.matthews at apple.com> wrote:
>> I don’t think the XUnit files need to be a special case.  Just make sure whatever is in the stack trace section is useful for diagnosing and fixing the problem; specifically, a timeout of X was triggered while running Y.
> 
> By "stack trace" I presume you mean the list of executed commands and
> their output (i.e. exit code, stdout and stderr). In that respect my
> patch does a poor job because if a timeout is triggered the user
> **only** gets told that a particular test reached the timeout. It is
> definitely desirable to show more information than that when a timeout
> occurs so I will need to spend some time redoing that aspect of the
> patch.
> 
> Dan.



More information about the llvm-commits mailing list