[Lldb-commits] [lldb] 55d4b0d - [lldb] Fix that a crashing test is marked as unsupported when it prints UNSUPPORTED before crashing

Raphael Isemann via lldb-commits lldb-commits at lists.llvm.org
Mon Feb 24 23:46:56 PST 2020


Author: Raphael Isemann
Date: 2020-02-25T08:46:37+01:00
New Revision: 55d4b0d7dd70d5ecc9e641d93fbf234bb7104d1a

URL: https://github.com/llvm/llvm-project/commit/55d4b0d7dd70d5ecc9e641d93fbf234bb7104d1a
DIFF: https://github.com/llvm/llvm-project/commit/55d4b0d7dd70d5ecc9e641d93fbf234bb7104d1a.diff

LOG: [lldb] Fix that a crashing test is marked as unsupported when it prints UNSUPPORTED before crashing

Summary:
I added an `abort()` call to some code and noticed that the test suite was still passing and it just marked my test as "UNSUPPORTED".

It seems the reason for that is that we expect failing tests to print "FAIL:" which doesn't happen when we crash. If we then also
have an unsupported because we skipped some debug information in the output, we just mark the test passing because it is unsupported
on the current platform.

This patch marks any test that has a non-zero exit code as failing even if it doesn't print "FAIL:" (e.g., because it crashed).

Reviewers: labath, JDevlieghere

Reviewed By: labath, JDevlieghere

Subscribers: aprantl, lldb-commits

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D75031

Added: 
    

Modified: 
    lldb/test/API/lldbtest.py

Removed: 
    


################################################################################
diff  --git a/lldb/test/API/lldbtest.py b/lldb/test/API/lldbtest.py
index 65aafab5c617..94c0588fd9e6 100644
--- a/lldb/test/API/lldbtest.py
+++ b/lldb/test/API/lldbtest.py
@@ -114,14 +114,12 @@ def execute(self, test, litConfig):
             return lit.Test.TIMEOUT, output
 
         if exitCode:
-            # Match FAIL but not XFAIL.
-            for line in out.splitlines() + err.splitlines():
-                if line.startswith('FAIL:'):
-                    return lit.Test.FAIL, output
-
             if 'XPASS:' in out or 'XPASS:' in err:
                 return lit.Test.XPASS, output
 
+            # Otherwise this is just a failure.
+            return lit.Test.FAIL, output
+
         has_unsupported_tests = 'UNSUPPORTED:' in out or 'UNSUPPORTED:' in err
         has_passing_tests = 'PASS:' in out or 'PASS:' in err
         if has_unsupported_tests and not has_passing_tests:


        


More information about the lldb-commits mailing list