summaryrefslogtreecommitdiffstats
path: root/llvm/utils/lit/tests
diff options
context:
space:
mode:
authorChris Matthews <cmatthews5@apple.com>2018-05-10 22:51:28 +0000
committerChris Matthews <cmatthews5@apple.com>2018-05-10 22:51:28 +0000
commit4855c5f717fde5207033e97989b20b273298a57b (patch)
treec0fb065f4c1b04bb1e7afc82a76477ac416738f7 /llvm/utils/lit/tests
parentea78a261de417ccd70b08f34cb51b21a5f1ebb82 (diff)
downloadbcm5719-llvm-4855c5f717fde5207033e97989b20b273298a57b.tar.gz
bcm5719-llvm-4855c5f717fde5207033e97989b20b273298a57b.zip
[LIT] Move xunit tests tests into their own location, and and add failures
Failures will increase coverage. llvm-svn: 332056
Diffstat (limited to 'llvm/utils/lit/tests')
-rw-r--r--llvm/utils/lit/tests/Inputs/xunit-output/bad&name.ini (renamed from llvm/utils/lit/tests/Inputs/test-data/bad&name.ini)2
-rw-r--r--llvm/utils/lit/tests/Inputs/xunit-output/dummy_format.py38
-rw-r--r--llvm/utils/lit/tests/Inputs/xunit-output/lit.cfg10
-rw-r--r--llvm/utils/lit/tests/test-output.py8
-rw-r--r--llvm/utils/lit/tests/xunit-output.py10
5 files changed, 59 insertions, 9 deletions
diff --git a/llvm/utils/lit/tests/Inputs/test-data/bad&name.ini b/llvm/utils/lit/tests/Inputs/xunit-output/bad&name.ini
index 16b6b96d5f9..8dfc6852b24 100644
--- a/llvm/utils/lit/tests/Inputs/test-data/bad&name.ini
+++ b/llvm/utils/lit/tests/Inputs/xunit-output/bad&name.ini
@@ -1,5 +1,5 @@
[global]
-result_code = PASS
+result_code = FAIL
result_output = & < > "
[results]
diff --git a/llvm/utils/lit/tests/Inputs/xunit-output/dummy_format.py b/llvm/utils/lit/tests/Inputs/xunit-output/dummy_format.py
new file mode 100644
index 00000000000..93e48eeb839
--- /dev/null
+++ b/llvm/utils/lit/tests/Inputs/xunit-output/dummy_format.py
@@ -0,0 +1,38 @@
+import os
+try:
+ import ConfigParser
+except ImportError:
+ import configparser as ConfigParser
+
+import lit.formats
+import lit.Test
+
+class DummyFormat(lit.formats.FileBasedTest):
+ def execute(self, test, lit_config):
+ # In this dummy format, expect that each test file is actually just a
+ # .ini format dump of the results to report.
+
+ source_path = test.getSourcePath()
+
+ cfg = ConfigParser.ConfigParser()
+ cfg.read(source_path)
+
+ # Create the basic test result.
+ result_code = cfg.get('global', 'result_code')
+ result_output = cfg.get('global', 'result_output')
+ result = lit.Test.Result(getattr(lit.Test, result_code),
+ result_output)
+
+ # Load additional metrics.
+ for key,value_str in cfg.items('results'):
+ value = eval(value_str)
+ if isinstance(value, int):
+ metric = lit.Test.IntMetricValue(value)
+ elif isinstance(value, float):
+ metric = lit.Test.RealMetricValue(value)
+ else:
+ raise RuntimeError("unsupported result type")
+ result.addMetric(key, metric)
+
+ return result
+
diff --git a/llvm/utils/lit/tests/Inputs/xunit-output/lit.cfg b/llvm/utils/lit/tests/Inputs/xunit-output/lit.cfg
new file mode 100644
index 00000000000..0191cc21888
--- /dev/null
+++ b/llvm/utils/lit/tests/Inputs/xunit-output/lit.cfg
@@ -0,0 +1,10 @@
+import site
+site.addsitedir(os.path.dirname(__file__))
+import dummy_format
+
+config.name = 'test-data'
+config.suffixes = ['.ini']
+config.test_format = dummy_format.DummyFormat()
+config.test_source_root = None
+config.test_exec_root = None
+config.target_triple = None
diff --git a/llvm/utils/lit/tests/test-output.py b/llvm/utils/lit/tests/test-output.py
index 2539367b21a..a50442741b9 100644
--- a/llvm/utils/lit/tests/test-output.py
+++ b/llvm/utils/lit/tests/test-output.py
@@ -12,8 +12,8 @@
# CHECK-NEXT: "value0": 1,
# CHECK-NEXT: "value1": 2.3456
# CHECK-NEXT: }
-# CHECK: "name": "test-data :: bad&name.ini",
-# CHECK: "output": "& < > \""
-
-# CHECK: ]
+# CHECK-NEXT: "name": "test-data :: metrics.ini",
+# CHECK-NEXT: "output": "Test passed."
+# CHECK-NEXT: }
+# CHECK-NEXT: ]
# CHECK-NEXT: }
diff --git a/llvm/utils/lit/tests/xunit-output.py b/llvm/utils/lit/tests/xunit-output.py
index 396f10e95c8..d628429a9b5 100644
--- a/llvm/utils/lit/tests/xunit-output.py
+++ b/llvm/utils/lit/tests/xunit-output.py
@@ -1,11 +1,13 @@
# Check xunit output
-# RUN: %{lit} --xunit-xml-output %t.xunit.xml %{inputs}/test-data
+# RUN: %{lit} --xunit-xml-output %t.xunit.xml %{inputs}/xunit-output || true
# RUN: FileCheck < %t.xunit.xml %s
# CHECK: <?xml version="1.0" encoding="UTF-8" ?>
# CHECK: <testsuites>
-# CHECK: <testsuite name='test-data' tests='2' failures='0'>
-# CHECK: <testcase classname='test-data.test-data' name='bad&amp;name.ini' time='{{[0-1]}}.{{[0-9]+}}'/>
-# CHECK: <testcase classname='test-data.test-data' name='metrics.ini' time='{{[0-1]}}.{{[0-9]+}}'/>
+# CHECK: <testsuite name='test-data' tests='1' failures='1'>
+# CHECK: <testcase classname='test-data.test-data' name='bad&amp;name.ini' time='{{[0-1]}}.{{[0-9]+}}'>
+# CHECK-NEXT: <failure >
+# CHECK-NEXT:&amp; &lt; &gt; "
+# CHECK-NEXT:</failure>
# CHECK: </testsuite>
# CHECK: </testsuites>
OpenPOWER on IntegriCloud