Use a simpler set of mock headers for the vfs+modules crash recovery tests.
authorBenjamin Kramer <benny.kra@googlemail.com>
Thu, 17 Mar 2016 16:19:51 +0000 (16:19 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Thu, 17 Mar 2016 16:19:51 +0000 (16:19 +0000)
The System/ mock is large and too complex for this test. It can cause
the tests to fail in mysterious ways as it depends on the resource dir
being present, which is not really supported for driver tests (using
%clang instead of %clang_cc1). Copy the tree and trim out all the
%unnecessary fat.

llvm-svn: 263718

clang/test/Modules/Inputs/crash-recovery/usr/include/module.map [new file with mode: 0644]
clang/test/Modules/Inputs/crash-recovery/usr/include/stdio.h [new file with mode: 0644]
clang/test/Modules/Inputs/crash-recovery/usr/include/tcl-private/header.h [new file with mode: 0644]
clang/test/Modules/crash-vfs-path-symlink-component.m
clang/test/Modules/crash-vfs-path-traversal.m

diff --git a/clang/test/Modules/Inputs/crash-recovery/usr/include/module.map b/clang/test/Modules/Inputs/crash-recovery/usr/include/module.map
new file mode 100644 (file)
index 0000000..70aae49
--- /dev/null
@@ -0,0 +1,6 @@
+module cstd [system] {
+  // Only in system headers directory
+  module stdio {
+    header "stdio.h"
+  }
+}
diff --git a/clang/test/Modules/Inputs/crash-recovery/usr/include/stdio.h b/clang/test/Modules/Inputs/crash-recovery/usr/include/stdio.h
new file mode 100644 (file)
index 0000000..f41e09c
--- /dev/null
@@ -0,0 +1,3 @@
+typedef struct { int id; } FILE;
+int fprintf(FILE*restrict, const char* restrict format, ...);
+extern FILE *__stderrp;
diff --git a/clang/test/Modules/Inputs/crash-recovery/usr/include/tcl-private/header.h b/clang/test/Modules/Inputs/crash-recovery/usr/include/tcl-private/header.h
new file mode 100644 (file)
index 0000000..0e8fb64
--- /dev/null
@@ -0,0 +1,2 @@
+// tcl-private/header.h
+#define TCL_PRIVATE 1
index 759bad0..e27e719 100644 (file)
@@ -8,7 +8,7 @@
 
 // RUN: rm -rf %t
 // RUN: mkdir -p %t/i %t/m %t %t/sysroot
-// RUN: cp -a %S/Inputs/System/usr %t/i/
+// RUN: cp -a %S/Inputs/crash-recovery/usr %t/i/
 // RUN: ln -s include/tcl-private %t/i/usr/x
 
 // RUN: not env FORCE_CLANG_DIAGNOSTICS_CRASH= TMPDIR=%t TEMP=%t TMP=%t \
index b7610a5..b8da860 100644 (file)
@@ -9,7 +9,7 @@
 // RUN: mkdir -p %t/i %t/m %t
 
 // RUN: not env FORCE_CLANG_DIAGNOSTICS_CRASH= TMPDIR=%t TEMP=%t TMP=%t \
-// RUN: %clang -fsyntax-only %s -I %S/Inputs/System -isysroot %/t/i/    \
+// RUN: %clang -fsyntax-only %s -I %S/Inputs/crash-recovery -isysroot %/t/i/    \
 // RUN: -fmodules -fmodules-cache-path=%t/m/ 2>&1 | FileCheck %s
 
 // RUN: FileCheck --check-prefix=CHECKSRC %s -input-file %t/crash-vfs-*.m
@@ -17,7 +17,7 @@
 // RUN: FileCheck --check-prefix=CHECKYAML %s -input-file \
 // RUN: %t/crash-vfs-*.cache/vfs/vfs.yaml
 // RUN: find %t/crash-vfs-*.cache/vfs | \
-// RUN:   grep "Inputs/System/usr/include/stdio.h" | count 1
+// RUN:   grep "Inputs/crash-recovery/usr/include/stdio.h" | count 1
 
 #include "usr/././//////include/../include/./././../include/stdio.h"
 
 // CHECKSH: "-ivfsoverlay" "crash-vfs-{{[^ ]*}}.cache/vfs/vfs.yaml"
 
 // CHECKYAML: 'type': 'directory'
-// CHECKYAML: 'name': "{{[^ ]*}}/Inputs/System/usr/include",
+// CHECKYAML: 'name': "{{[^ ]*}}/Inputs/crash-recovery/usr/include",
 // CHECKYAML-NEXT: 'contents': [
 // CHECKYAML-NEXT:   {
 // CHECKYAML-NEXT:     'type': 'file',
 // CHECKYAML-NEXT:     'name': "module.map",
-// CHECKYAML-NEXT:     'external-contents': "{{[^ ]*}}/Inputs/System/usr/include/module.map"
+// CHECKYAML-NEXT:     'external-contents': "{{[^ ]*}}/Inputs/crash-recovery/usr/include/module.map"
 // CHECKYAML-NEXT:   },
 
 // Replace the paths in the YAML files with relative ".." traversals
@@ -52,7 +52,7 @@
 // RUN: sed -e "s@usr/include@usr/include/../include@g" \
 // RUN:     %t/crash-vfs-*.cache/vfs/vfs.yaml > %t/vfs.yaml
 // RUN: unset FORCE_CLANG_DIAGNOSTICS_CRASH
-// RUN: %clang -E %s -I %S/Inputs/System -isysroot %/t/i/ \
+// RUN: %clang -E %s -I %S/Inputs/crash-recovery -isysroot %/t/i/ \
 // RUN:     -ivfsoverlay %t/vfs.yaml -fmodules \
 // RUN:     -fmodules-cache-path=%t/m/ 2>&1 \
 // RUN:     | FileCheck %s --check-prefix=CHECKOVERLAY