[PATCH] D81782: [lit] Allow for tests to have non-parsed requirements

Casey Carter via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 15 16:02:52 PDT 2020


CaseyCarter updated this revision to Diff 270896.
CaseyCarter added a comment.

- Remove copy-pasta from RUN line in `unparsed-requirements.py`.
- Simplify code with `+=`
- Complete test coverage
- Change line endings to LF in new files


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D81782/new/

https://reviews.llvm.org/D81782

Files:
  llvm/utils/lit/lit/TestRunner.py
  llvm/utils/lit/tests/Inputs/unparsed-requirements/test.py
  llvm/utils/lit/tests/unparsed-requirements.py


Index: llvm/utils/lit/tests/unparsed-requirements.py
===================================================================
--- /dev/null
+++ llvm/utils/lit/tests/unparsed-requirements.py
@@ -0,0 +1,25 @@
+# RUN: %{python} %s %{inputs}/unparsed-requirements
+
+import sys
+from lit.Test import Result, Test, TestSuite
+from lit.TestRunner import parseIntegratedTestScript
+from lit.TestingConfig import TestingConfig
+
+config = TestingConfig(None, "config", [".txt"], None, [], [], False, sys.argv[1], sys.argv[1], [], [], True)
+suite = TestSuite("suite", sys.argv[1], sys.argv[1], config)
+
+test = Test(suite, ["test.py"], config)
+test.requires = ["meow"]
+test.unsupported = ["alpha"]
+test.xfails = ["foo"]
+
+parseIntegratedTestScript(test)
+
+error_count = 0
+if test.requires != ["meow", "woof", "quack"]:
+    error_count += 1
+if test.unsupported != ["alpha", "beta", "gamma"]:
+    error_count += 1
+if test.xfails != ["foo", "bar", "baz"]:
+    error_count += 1
+exit(error_count)
Index: llvm/utils/lit/tests/Inputs/unparsed-requirements/test.py
===================================================================
--- /dev/null
+++ llvm/utils/lit/tests/Inputs/unparsed-requirements/test.py
@@ -0,0 +1,4 @@
+# REQUIRES: woof, quack
+# UNSUPPORTED: beta, gamma
+# XFAIL: bar, baz
+# RUN:
Index: llvm/utils/lit/lit/TestRunner.py
===================================================================
--- llvm/utils/lit/lit/TestRunner.py
+++ llvm/utils/lit/lit/TestRunner.py
@@ -1463,9 +1463,9 @@
     except ValueError as e:
         return lit.Test.Result(Test.UNRESOLVED, str(e))
     script = parsed['RUN:'] or []
-    test.xfails = parsed['XFAIL:'] or []
-    test.requires = parsed['REQUIRES:'] or []
-    test.unsupported = parsed['UNSUPPORTED:'] or []
+    test.xfails += parsed['XFAIL:'] or []
+    test.requires += parsed['REQUIRES:'] or []
+    test.unsupported += parsed['UNSUPPORTED:'] or []
     if parsed['ALLOW_RETRIES:']:
         test.allowed_retries = parsed['ALLOW_RETRIES:'][0]
 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D81782.270896.patch
Type: text/x-patch
Size: 2005 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200615/67b963c2/attachment.bin>


More information about the llvm-commits mailing list