tests: Add a test for reading from named pipes.
authorDaniel Dunbar <daniel@zuster.org>
Thu, 15 Nov 2012 20:06:10 +0000 (20:06 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Thu, 15 Nov 2012 20:06:10 +0000 (20:06 +0000)
 - Realized I could use the /dev/fd filesystem to make a simple portable test.

llvm-svn: 168079

clang/test/Misc/dev-fd-fs.c [new file with mode: 0644]
clang/test/lit.cfg

diff --git a/clang/test/Misc/dev-fd-fs.c b/clang/test/Misc/dev-fd-fs.c
new file mode 100644 (file)
index 0000000..2eff138
--- /dev/null
@@ -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;
index e91e660..1180f72 100644 (file)
@@ -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')