aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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')