aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2012-11-15 20:06:10 +0000
committerDaniel Dunbar <daniel@zuster.org>2012-11-15 20:06:10 +0000
commit0b95bd00533620ec5cb81041afbf790dfe976ca9 (patch)
tree1d2b75eb09518890674e957f1adc390842f528f2
parent71f49f5d8fc3c4980bed4bb7790c8d0e50586d3b (diff)
tests: Add a test for reading from named pipes.
- Realized I could use the /dev/fd filesystem to make a simple portable test. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@168079 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/Misc/dev-fd-fs.c12
-rw-r--r--test/lit.cfg4
2 files changed, 16 insertions, 0 deletions
diff --git a/test/Misc/dev-fd-fs.c b/test/Misc/dev-fd-fs.c
new file mode 100644
index 0000000000..2eff138f42
--- /dev/null
+++ b/test/Misc/dev-fd-fs.c
@@ -0,0 +1,12 @@
+// Check that we can operate on files from /dev/fd.
+// REQUIRES: dev-fd-fs
+
+
+// Check reading from named pipes. We cat the input here instead of redirecting
+// it to ensure that /dev/fd/0 is a named pipe, not just a redirected file.
+//
+// RUN: cat %s | %clang -x c /dev/fd/0 -E > %t
+// RUN: FileCheck --check-prefix DEV-FD-INPUT < %t %s
+
+// DEV-FD-INPUT: int x;
+int x;
diff --git a/test/lit.cfg b/test/lit.cfg
index e91e66052e..1180f72f5b 100644
--- a/test/lit.cfg
+++ b/test/lit.cfg
@@ -237,6 +237,10 @@ def is_filesystem_case_insensitive():
if is_filesystem_case_insensitive():
config.available_features.add('case-insensitive-filesystem')
+# Tests that require the /dev/fd filesystem.
+if os.path.exists("/dev/fd/0"):
+ config.available_features.add('dev-fd-fs')
+
# [PR8833] LLP64-incompatible tests
if not re.match(r'^x86_64.*-(win32|mingw32)$', config.target_triple):
config.available_features.add('LP64')