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

Dan Liew via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 18 13:22:38 PST 2015


On 18 November 2015 at 18:53, Chris Matthews <chris.matthews at apple.com> wrote:
> 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.

That's not what lit does currently. Lit current dumps information
inside a ``failure`` tag. Here's some example output

```
<?xml version="1.0" encoding="UTF-8" ?>
<testsuites>
<testsuite name='Symbooglix driver' tests='1' failures='1'>
<testcase classname='Symbooglix driver.Symbooglix driver'
name='slow.bpl' time='1.01'>
<failure >
Script:
--

--
Exit Code: 1

Command Output (stdout):
--
Command 0: "sleep" "1"
Command 0 Result: 0
Command 0 Output:

Command 0 Stderr:

Command 1: "false"
Command 1 Result: 1
Command 1 Output:

Command 1 Stderr:
--

</failure>
</testcase>
</testsuite>
</testsuites>
```

My patch to lit doesn't give very useful output when a timeout is hit
which I need to fix.
>

> 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?

It might possible to do something in the future. On Linux you could
attach lldb or gdb and print a stacktrace for every thread. I think
that's out of scope for this patch though.

Thanks,
Dan.


More information about the llvm-commits mailing list