On 17/12/2018 22:40, Jonas Devlieghere via lldb-commits wrote:
Author: jdevlieghere
Date: Mon Dec 17 13:40:37 2018
New Revision: 349401
URL: http://llvm.org/viewvc/llvm-project?rev=349401&view=rev
Log:
[lit] Detect unexpected passes in lldbtest.
This patch will have lit report unexpected passes when dotest reports at
least one XPASS and no failures.
Modified:
lldb/trunk/lit/Suite/lldbtest.py
Modified: lldb/trunk/lit/Suite/lldbtest.py
URL:
http://llvm.org/viewvc/llvm-project/lldb/trunk/lit/Suite/lldbtest.py?rev=349401&r1=349400&r2=349401&view=diff
==============================================================================
--- lldb/trunk/lit/Suite/lldbtest.py (original)
+++ lldb/trunk/lit/Suite/lldbtest.py Mon Dec 17 13:40:37 2018
@@ -96,6 +96,10 @@ class LLDBTest(TestFormat):
if exitCode:
return lit.Test.FAIL, out + err
+ unexpected_test_line = 'XPASS'
+ if unexpected_test_line in out or unexpected_test_line in err:
+ return lit.Test.XPASS, ''
+
passing_test_line = 'RESULT: PASSED'
if passing_test_line not in out and passing_test_line not in err:
msg = ('Unable to find %r in dotest output:\n\n%s%s' %
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
It would be nice to have some notice before changes like this are
implemented. I mean, I know there was some talk of this in the past, but
that was months ago, so it wasn't really clear if/when is that going to
happen. It didn't take me too long to clean up the remaining unexpected
passes on my test configuration (and I found some pretty interesting
things while doing that, for which I am grateful), but I am not sure
this will be so simple for everyone.
The other issue I have with this patch is that it creates a rift between
how lit evaluates test results and how dotest does it (I don't know how
you guys do this, but I still run dotest manually when I want to zero in
on a single test failure). Now it can happen that someone runs
"check-lldb", it reports a failure (unexpected success), and when the
person runs the single test via dotest, it happily reports that
everything is alright.
I think it would be better to first teach dotest to treat "unexpected
successes" as a "bad" result (i.e., to exit with non-zero exit code).
Then, we can play around with how to convert that result into lit test
states
cheers,
pavel
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits