Revert "[lit] Have REQUIRES support the target triple"
authorPaul Robinson <paul.robinson@sony.com>
Fri, 6 Aug 2021 22:01:35 +0000 (15:01 -0700)
committerPaul Robinson <paul.robinson@sony.com>
Fri, 6 Aug 2021 22:03:49 +0000 (15:03 -0700)
This reverts commit 100a7b6197863d4d5ebc97761d7e98063e164e26.

Speculating that this is the reason behind a sanitizer failure:
https://lab.llvm.org/buildbot/#/builders/37/builds/5945

llvm/docs/TestingGuide.rst
llvm/utils/lit/lit/Test.py
llvm/utils/lit/tests/Inputs/shtest-format/requires-triple.txt
llvm/utils/lit/tests/Inputs/xunit-output/lit.cfg
llvm/utils/lit/tests/shtest-format.py

index eedeb74..cd2c012 100644 (file)
@@ -443,7 +443,7 @@ with debug builds or on particular platforms. Use ``REQUIRES``
 and ``UNSUPPORTED`` to control when the test is enabled.
 
 Some tests are expected to fail. For example, there may be a known bug
-that a test detects. Use ``XFAIL`` to mark a test as an expected failure.
+that the test detect. Use ``XFAIL`` to mark a test as an expected failure.
 An ``XFAIL`` test will be successful if its execution fails, and
 will be a failure if its execution succeeds.
 
@@ -465,11 +465,9 @@ list of boolean expressions. The values in each expression may be:
   expression is satisfied if any feature matches the regular expression. Regular
   expressions can appear inside an identifier, so for example ``he{{l+}}o`` would match
   ``helo``, ``hello``, ``helllo``, and so on.
-- Substrings of the target triple. These must be exact substrings, not regular
-  expressions.
+- Substrings of the target triple (``UNSUPPORTED`` and ``XFAIL`` only).
 
-| ``REQUIRES`` disables the test if any expression is false (that is,
-  the test requires all expressions to be true).
+| ``REQUIRES`` enables the test if all expressions are true.
 | ``UNSUPPORTED`` disables the test if any expression is true.
 | ``XFAIL`` expects the test to fail if any expression is true.
 
index 9e20ed3..77b9c23 100644 (file)
@@ -362,10 +362,9 @@ class Test:
         return True
 
     def getMissingRequiredFeaturesFromList(self, features):
-        triple = getattr(self.suite.config, 'target_triple', "")
         try:
             return [item for item in self.requires
-                    if not BooleanExpression.evaluate(item, features, triple)]
+                    if not BooleanExpression.evaluate(item, features)]
         except ValueError as e:
             raise ValueError('Error in REQUIRES list:\n%s' % str(e))
 
index a8ea5c0..6470bf4 100644 (file)
@@ -1,3 +1,3 @@
-# REQUIRES line that uses target triple.
+# REQUIRES line that uses target triple, which doesn't work. Test should not run
 REQUIRES: x86_64
-RUN: true
+RUN: false
index 12c524b..0191cc2 100644 (file)
@@ -7,4 +7,4 @@ config.suffixes = ['.ini']
 config.test_format = dummy_format.DummyFormat()
 config.test_source_root = None
 config.test_exec_root = None
-config.target_triple = ''
+config.target_triple = None
index b65395e..a15c0f9 100644 (file)
@@ -61,7 +61,7 @@
 # CHECK: UNSUPPORTED: shtest-format :: requires-missing.txt
 # CHECK: PASS: shtest-format :: requires-present.txt
 # CHECK: UNRESOLVED: shtest-format :: requires-star.txt
-# CHECK: PASS: shtest-format :: requires-triple.txt
+# CHECK: UNSUPPORTED: shtest-format :: requires-triple.txt
 # CHECK: PASS: shtest-format :: unsupported-expr-false.txt
 # CHECK: UNSUPPORTED: shtest-format :: unsupported-expr-true.txt
 # CHECK: UNRESOLVED: shtest-format :: unsupported-star.txt
@@ -88,8 +88,8 @@
 # CHECK: shtest-format :: xpass.txt
 
 # CHECK: Testing Time:
-# CHECK: Unsupported        : 3
-# CHECK: Passed             : 7
+# CHECK: Unsupported        : 4
+# CHECK: Passed             : 6
 # CHECK: Expectedly Failed  : 4
 # CHECK: Unresolved         : 3
 # CHECK: Failed             : 4
@@ -98,7 +98,7 @@
 
 # XUNIT: <?xml version="1.0" encoding="UTF-8"?>
 # XUNIT-NEXT: <testsuites time="{{[0-9.]+}}">
-# XUNIT-NEXT: <testsuite name="shtest-format" tests="22" failures="8" skipped="3">
+# XUNIT-NEXT: <testsuite name="shtest-format" tests="22" failures="8" skipped="4">
 
 # XUNIT: <testcase classname="shtest-format.external_shell" name="fail.txt" time="{{[0-9]+\.[0-9]+}}">
 # XUNIT-NEXT: <failure{{[ ]*}}>
 # XUNIT-NEXT: </testcase>
 
 
-# XUNIT: <testcase classname="shtest-format.shtest-format" name="requires-triple.txt" time="{{[0-9]+\.[0-9]+}}"/>
+# XUNIT: <testcase classname="shtest-format.shtest-format" name="requires-triple.txt" time="{{[0-9]+\.[0-9]+}}">
+# XUNIT-NEXT:<skipped message="Missing required feature(s): x86_64"/>
 
 # XUNIT: <testcase classname="shtest-format.shtest-format" name="unsupported-expr-false.txt" time="{{[0-9]+\.[0-9]+}}"/>