[lit] Add a test for the various ShTest format features.
authorDaniel Dunbar <daniel@zuster.org>
Thu, 31 Jan 2013 18:05:01 +0000 (18:05 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Thu, 31 Jan 2013 18:05:01 +0000 (18:05 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174072 91177308-0d34-0410-b5e6-96231b3b80d8

16 files changed:
utils/lit/tests/Inputs/shtest-format/external_shell/fail.txt [new file with mode: 0644]
utils/lit/tests/Inputs/shtest-format/external_shell/lit.local.cfg [new file with mode: 0644]
utils/lit/tests/Inputs/shtest-format/external_shell/pass.txt [new file with mode: 0644]
utils/lit/tests/Inputs/shtest-format/fail.txt [new file with mode: 0644]
utils/lit/tests/Inputs/shtest-format/lit.cfg [new file with mode: 0644]
utils/lit/tests/Inputs/shtest-format/no-test-line.txt [new file with mode: 0644]
utils/lit/tests/Inputs/shtest-format/pass.txt [new file with mode: 0644]
utils/lit/tests/Inputs/shtest-format/requires-missing.txt [new file with mode: 0644]
utils/lit/tests/Inputs/shtest-format/requires-present.txt [new file with mode: 0644]
utils/lit/tests/Inputs/shtest-format/unsupported_dir/lit.local.cfg [new file with mode: 0644]
utils/lit/tests/Inputs/shtest-format/unsupported_dir/some-test.txt [new file with mode: 0644]
utils/lit/tests/Inputs/shtest-format/xfail-feature.txt [new file with mode: 0644]
utils/lit/tests/Inputs/shtest-format/xfail-target.txt [new file with mode: 0644]
utils/lit/tests/Inputs/shtest-format/xfail.txt [new file with mode: 0644]
utils/lit/tests/Inputs/shtest-format/xpass.txt [new file with mode: 0644]
utils/lit/tests/shtest-format.py [new file with mode: 0644]

diff --git a/utils/lit/tests/Inputs/shtest-format/external_shell/fail.txt b/utils/lit/tests/Inputs/shtest-format/external_shell/fail.txt
new file mode 100644 (file)
index 0000000..1e74be5
--- /dev/null
@@ -0,0 +1,3 @@
+# Run a command that fails with error on stdout.
+#
+# RUN: cat "does-not-exist"
diff --git a/utils/lit/tests/Inputs/shtest-format/external_shell/lit.local.cfg b/utils/lit/tests/Inputs/shtest-format/external_shell/lit.local.cfg
new file mode 100644 (file)
index 0000000..d14d147
--- /dev/null
@@ -0,0 +1 @@
+config.test_format = lit.formats.ShTest(execute_external=True)
diff --git a/utils/lit/tests/Inputs/shtest-format/external_shell/pass.txt b/utils/lit/tests/Inputs/shtest-format/external_shell/pass.txt
new file mode 100644 (file)
index 0000000..b80b60b
--- /dev/null
@@ -0,0 +1 @@
+# RUN: true
diff --git a/utils/lit/tests/Inputs/shtest-format/fail.txt b/utils/lit/tests/Inputs/shtest-format/fail.txt
new file mode 100644 (file)
index 0000000..49932c3
--- /dev/null
@@ -0,0 +1 @@
+# RUN: false
diff --git a/utils/lit/tests/Inputs/shtest-format/lit.cfg b/utils/lit/tests/Inputs/shtest-format/lit.cfg
new file mode 100644 (file)
index 0000000..78dd1bf
--- /dev/null
@@ -0,0 +1,7 @@
+config.name = 'shtest-format'
+config.suffixes = ['.txt']
+config.test_format = lit.formats.ShTest()
+config.test_source_root = None
+config.test_exec_root = None
+config.target_triple = 'x86_64-unknown-unknown'
+config.available_features.add('a-present-feature')
diff --git a/utils/lit/tests/Inputs/shtest-format/no-test-line.txt b/utils/lit/tests/Inputs/shtest-format/no-test-line.txt
new file mode 100644 (file)
index 0000000..f2316bd
--- /dev/null
@@ -0,0 +1 @@
+# Empty!
diff --git a/utils/lit/tests/Inputs/shtest-format/pass.txt b/utils/lit/tests/Inputs/shtest-format/pass.txt
new file mode 100644 (file)
index 0000000..b80b60b
--- /dev/null
@@ -0,0 +1 @@
+# RUN: true
diff --git a/utils/lit/tests/Inputs/shtest-format/requires-missing.txt b/utils/lit/tests/Inputs/shtest-format/requires-missing.txt
new file mode 100644 (file)
index 0000000..9e6648d
--- /dev/null
@@ -0,0 +1,2 @@
+RUN: true
+REQUIRES: a-missing-feature
diff --git a/utils/lit/tests/Inputs/shtest-format/requires-present.txt b/utils/lit/tests/Inputs/shtest-format/requires-present.txt
new file mode 100644 (file)
index 0000000..064f707
--- /dev/null
@@ -0,0 +1,2 @@
+RUN: true
+REQUIRES: a-present-feature
diff --git a/utils/lit/tests/Inputs/shtest-format/unsupported_dir/lit.local.cfg b/utils/lit/tests/Inputs/shtest-format/unsupported_dir/lit.local.cfg
new file mode 100644 (file)
index 0000000..462e3dc
--- /dev/null
@@ -0,0 +1 @@
+config.unsupported = True
diff --git a/utils/lit/tests/Inputs/shtest-format/unsupported_dir/some-test.txt b/utils/lit/tests/Inputs/shtest-format/unsupported_dir/some-test.txt
new file mode 100644 (file)
index 0000000..b80b60b
--- /dev/null
@@ -0,0 +1 @@
+# RUN: true
diff --git a/utils/lit/tests/Inputs/shtest-format/xfail-feature.txt b/utils/lit/tests/Inputs/shtest-format/xfail-feature.txt
new file mode 100644 (file)
index 0000000..bd6241f
--- /dev/null
@@ -0,0 +1,2 @@
+# RUN: false
+# XFAIL: a-present-feature
diff --git a/utils/lit/tests/Inputs/shtest-format/xfail-target.txt b/utils/lit/tests/Inputs/shtest-format/xfail-target.txt
new file mode 100644 (file)
index 0000000..36760be
--- /dev/null
@@ -0,0 +1,2 @@
+RUN: false
+XFAIL: x86_64
diff --git a/utils/lit/tests/Inputs/shtest-format/xfail.txt b/utils/lit/tests/Inputs/shtest-format/xfail.txt
new file mode 100644 (file)
index 0000000..6814cda
--- /dev/null
@@ -0,0 +1,2 @@
+RUN: false
+XFAIL: *
diff --git a/utils/lit/tests/Inputs/shtest-format/xpass.txt b/utils/lit/tests/Inputs/shtest-format/xpass.txt
new file mode 100644 (file)
index 0000000..764d217
--- /dev/null
@@ -0,0 +1,2 @@
+RUN: true
+XFAIL: x86_64
diff --git a/utils/lit/tests/shtest-format.py b/utils/lit/tests/shtest-format.py
new file mode 100644 (file)
index 0000000..4b36873
--- /dev/null
@@ -0,0 +1,43 @@
+# Check the various features of the ShTest format.
+#
+# RUN: not %{lit} -j 1 -v %{inputs}/shtest-format > %t.out
+# RUN: FileCheck < %t.out %s
+#
+# END.
+
+# CHECK: -- Testing:
+
+# CHECK: FAIL: shtest-format :: external_shell/fail.txt
+# CHECK: *** TEST 'shtest-format :: external_shell/fail.txt' FAILED ***
+# CHECK: Command Output (stderr):
+# CHECK: cat: does-not-exist: No such file or directory
+# CHECK: --
+
+# CHECK: PASS: shtest-format :: external_shell/pass.txt
+
+# CHECK: FAIL: shtest-format :: fail.txt
+
+# CHECK: UNRESOLVED: shtest-format :: no-test-line.txt
+# CHECK: PASS: shtest-format :: pass.txt
+# CHECK: UNSUPPORTED: shtest-format :: requires-missing.txt
+# CHECK: PASS: shtest-format :: requires-present.txt
+# CHECK: UNSUPPORTED: shtest-format :: unsupported_dir/some-test.txt
+# CHECK: XFAIL: shtest-format :: xfail-feature.txt
+# CHECK: XFAIL: shtest-format :: xfail-target.txt
+# CHECK: XFAIL: shtest-format :: xfail.txt
+# CHECK: XPASS: shtest-format :: xpass.txt
+# CHECK: Testing Time
+
+# CHECK: Unexpected Passing Tests (1)
+# CHECK: shtest-format :: xpass.txt
+
+# CHECK: Failing Tests (2)
+# CHECK: shtest-format :: external_shell/fail.txt
+# CHECK: shtest-format :: fail.txt
+
+# CHECK: Expected Passes    : 3
+# CHECK: Expected Failures  : 3
+# CHECK: Unsupported Tests  : 2
+# CHECK: Unresolved Tests   : 1
+# CHECK: Unexpected Passes  : 1
+# CHECK: Unexpected Failures: 2