summaryrefslogtreecommitdiffstats
path: root/llvm/utils/lit/tests
diff options
context:
space:
mode:
authorEric Fiselier <eric@efcs.ca>2019-01-20 00:51:02 +0000
committerEric Fiselier <eric@efcs.ca>2019-01-20 00:51:02 +0000
commit1989f7e04ffcdafb2e75bf7561d0f11db67c874a (patch)
tree77e9b6f7f18d7ebdcb79bef0c2774caeef1a4a78 /llvm/utils/lit/tests
parentb0f1013a73cf7208b133a45e4ffad7fc693008e6 (diff)
downloadbcm5719-llvm-1989f7e04ffcdafb2e75bf7561d0f11db67c874a.tar.gz
bcm5719-llvm-1989f7e04ffcdafb2e75bf7561d0f11db67c874a.zip
make XFAIL, REQUIRES, and UNSUPPORTED support multi-line expressions
llvm-svn: 351668
Diffstat (limited to 'llvm/utils/lit/tests')
-rw-r--r--llvm/utils/lit/tests/Inputs/testrunner-custom-parsers/test.txt6
-rw-r--r--llvm/utils/lit/tests/unit/TestRunner.py24
2 files changed, 29 insertions, 1 deletions
diff --git a/llvm/utils/lit/tests/Inputs/testrunner-custom-parsers/test.txt b/llvm/utils/lit/tests/Inputs/testrunner-custom-parsers/test.txt
index ed118f382fe..e28060320a2 100644
--- a/llvm/utils/lit/tests/Inputs/testrunner-custom-parsers/test.txt
+++ b/llvm/utils/lit/tests/Inputs/testrunner-custom-parsers/test.txt
@@ -9,5 +9,11 @@
//
// MY_CUSTOM: a b c
//
+// MY_BOOL: a && (\
+// MY_BOOL: b)
+// MY_BOOL: d
+//
+// MY_BOOL_UNTERMINATED: a \
+//
// END.
// MY_LIST: five
diff --git a/llvm/utils/lit/tests/unit/TestRunner.py b/llvm/utils/lit/tests/unit/TestRunner.py
index 89209d80f55..a9cfd869b76 100644
--- a/llvm/utils/lit/tests/unit/TestRunner.py
+++ b/llvm/utils/lit/tests/unit/TestRunner.py
@@ -9,6 +9,7 @@ import os.path
import tempfile
import lit
+import lit.Test as Test
from lit.TestRunner import ParserKind, IntegratedTestKeywordParser, \
parseIntegratedTestScript
@@ -57,9 +58,11 @@ class TestIntegratedTestKeywordParser(unittest.TestCase):
IntegratedTestKeywordParser("MY_TAG.", ParserKind.TAG),
IntegratedTestKeywordParser("MY_DNE_TAG.", ParserKind.TAG),
IntegratedTestKeywordParser("MY_LIST:", ParserKind.LIST),
+ IntegratedTestKeywordParser("MY_BOOL:", ParserKind.BOOLEAN_EXPR),
IntegratedTestKeywordParser("MY_RUN:", ParserKind.COMMAND),
IntegratedTestKeywordParser("MY_CUSTOM:", ParserKind.CUSTOM,
- custom_parse)
+ custom_parse),
+
]
@staticmethod
@@ -102,6 +105,25 @@ class TestIntegratedTestKeywordParser(unittest.TestCase):
self.assertEqual(value[0].strip(), "%dbg(MY_RUN: at line 4) baz")
self.assertEqual(value[1].strip(), "%dbg(MY_RUN: at line 7) foo bar")
+ def test_boolean(self):
+ parsers = self.make_parsers()
+ self.parse_test(parsers)
+ bool_parser = self.get_parser(parsers, 'MY_BOOL:')
+ value = bool_parser.getValue()
+ self.assertEqual(len(value), 2) # there are only two run lines
+ self.assertEqual(value[0].strip(), "a && (b)")
+ self.assertEqual(value[1].strip(), "d")
+
+ def test_boolean_unterminated(self):
+ parsers = self.make_parsers() + \
+ [IntegratedTestKeywordParser("MY_BOOL_UNTERMINATED:", ParserKind.BOOLEAN_EXPR)]
+ try:
+ self.parse_test(parsers)
+ self.fail('expected exception')
+ except ValueError as e:
+ self.assertIn("Test has unterminated MY_BOOL_UNTERMINATED: lines", str(e))
+
+
def test_custom(self):
parsers = self.make_parsers()
self.parse_test(parsers)
OpenPOWER on IntegriCloud