This is an archive of the discontinued LLVM Phabricator instance.

[zorg] Fix LitTestCommand unexpected test result when TIMEOUT is returned.
ClosedPublic

Authored by rfoos on Apr 14 2015, 2:20 PM.

Details

Summary

Support for LIT tests returning TIMEOUT was added a while back.

If a LIT test returns TIMEOUT, LitTestCommand reports an Unexpected test result error.

lldb.tests test lldb 28 expected failures Unexpected test result output TIMEOUT 28 expected passes
    stdio
    TIMEOUT: LLDB::15-breakpoint-by-symbol-disable-no-hit

With this fix, a count of timeouts and timeout reason are displayed in the title.

lldb.tests test lldb 6 unexpected failures 28 expected failures 2 timeout waiting for results 21 expected passes

I'm open to changing the timeout description "waiting for results". I can't think of anything better atm.

My use case is a Pexpect exception on "read non-blocking error" on expect_exact waiting for an LLDB prompt.

Diff Detail

Event Timeline

rfoos updated this revision to Diff 23744.Apr 14 2015, 2:20 PM
rfoos retitled this revision from to [zorg] Fix LitTestCommand unexpected test result when TIMEOUT is returned..
rfoos updated this object.
rfoos edited the test plan for this revision. (Show Details)
rfoos added a subscriber: Unknown Object (MLST).
rfoos updated this object.Apr 14 2015, 2:27 PM
rfoos edited the test plan for this revision. (Show Details)
rfoos added a reviewer: gkistanova.
rfoos set the repository for this revision to rL LLVM.
rfoos added a project: Restricted Project.
rfoos updated this object.Apr 14 2015, 2:32 PM

Grr. Phab totally didn't do the right thing there.... Here's the body of the reply that it ate:

@rfoos: Do you have a reference to the commit where the TIMEOUT test result was added? @ddunbar asked me not to add that in D6584: "I would prefer that it not introduce a new failure code though, and just
use FAIL with some extra message output".

In other news, this is a good reminder that I need to finish http://reviews.llvm.org/D6584

Cheers,

Jon

rfoos added a comment.Apr 14 2015, 3:15 PM

svn r230575 via git...

TIMEOUT currently works with verbose log output. This patch just
finishes the job.

We use it for exceptions from Pexpect that should not occur.

Not quite a FAIL, not quite a seg fault.

UNRESOLVED might be the DejaGnu equivalent failure, but that is cryptic
as well.

Rick

git blame:

6b2822b2 (Daniel Dunbar 2013-02-01 01:39:53 +0000 20) # These are
the codes for which we will inc
6b2822b2 (Daniel Dunbar 2013-02-01 01:39:53 +0000 21) # step results.
3dcd6abe (Ying Chen 2015-02-25 23:41:23 +0000 22) failingCodes =
set(['FAIL', 'XPASS', 'KPASS...TIMEOUT
3dcd6abe (Ying Chen 2015-02-25 23:41:23 +0000 23) # Regular
expressions for start of summary
3dcd6abe (Ying Chen 2015-02-25 23:41:23 +0000 24)
kStartSummaryRE = re.compile(r'^Failing Tes
6b2822b2 (Daniel Dunbar 2013-02-01 01:39:53 +0000 25)
3dcd6abe (Ying Chen 2015-02-25 23:41:23 +0000 26) def
init(self, maxLogs=None, parseSumma

git log:

commit 3dcd6abe8d85e186a2b74ecf544e4ec387efc7a8
Author: Ying Chen <chying@google.com>
Date: Wed Feb 25 23:41:23 2015 +0000

Modify LitLogObserver class to accept optional argument to parse

summary lines only

Summary:
Modify LitLogObserver class to accept optional argument to parse

summary lines only

  • This patch is to address the problem that regular stdio output

messages be parsed as result steps

91177308-0d34-0410-b5e6-96231b3b80d8

Ah, I hadn't caught that this was a zorg-specific thing... never mind.

Thanks Rick!

Jon

rfoos added a comment.Apr 15 2015, 8:10 AM

So this should be clear to merge now.

jroelofs accepted this revision.Apr 15 2015, 8:25 AM
jroelofs added a reviewer: jroelofs.

yeah. LGTM.

This revision is now accepted and ready to land.Apr 15 2015, 8:25 AM
rfoos closed this revision.Apr 15 2015, 2:45 PM