From c79911c0d2409744f50b11567a938b43473a486d Mon Sep 17 00:00:00 2001 From: Benjamin Kramer Date: Thu, 17 Mar 2016 16:19:51 +0000 Subject: [PATCH] Use a simpler set of mock headers for the vfs+modules crash recovery tests. 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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@263718 91177308-0d34-0410-b5e6-96231b3b80d8 --- .../Inputs/crash-recovery/usr/include/module.map | 6 ++++++ test/Modules/Inputs/crash-recovery/usr/include/stdio.h | 3 +++ .../crash-recovery/usr/include/tcl-private/header.h | 2 ++ test/Modules/crash-vfs-path-symlink-component.m | 2 +- test/Modules/crash-vfs-path-traversal.m | 10 +++++----- 5 files changed, 17 insertions(+), 6 deletions(-) create mode 100644 test/Modules/Inputs/crash-recovery/usr/include/module.map create mode 100644 test/Modules/Inputs/crash-recovery/usr/include/stdio.h create mode 100644 test/Modules/Inputs/crash-recovery/usr/include/tcl-private/header.h diff --git a/test/Modules/Inputs/crash-recovery/usr/include/module.map b/test/Modules/Inputs/crash-recovery/usr/include/module.map new file mode 100644 index 0000000000..70aae494ef --- /dev/null +++ b/test/Modules/Inputs/crash-recovery/usr/include/module.map @@ -0,0 +1,6 @@ +module cstd [system] { + // Only in system headers directory + module stdio { + header "stdio.h" + } +} diff --git a/test/Modules/Inputs/crash-recovery/usr/include/stdio.h b/test/Modules/Inputs/crash-recovery/usr/include/stdio.h new file mode 100644 index 0000000000..f41e09c35a --- /dev/null +++ b/test/Modules/Inputs/crash-recovery/usr/include/stdio.h @@ -0,0 +1,3 @@ +typedef struct { int id; } FILE; +int fprintf(FILE*restrict, const char* restrict format, ...); +extern FILE *__stderrp; diff --git a/test/Modules/Inputs/crash-recovery/usr/include/tcl-private/header.h b/test/Modules/Inputs/crash-recovery/usr/include/tcl-private/header.h new file mode 100644 index 0000000000..0e8fb64a71 --- /dev/null +++ b/test/Modules/Inputs/crash-recovery/usr/include/tcl-private/header.h @@ -0,0 +1,2 @@ +// tcl-private/header.h +#define TCL_PRIVATE 1 diff --git a/test/Modules/crash-vfs-path-symlink-component.m b/test/Modules/crash-vfs-path-symlink-component.m index 759bad03cd..e27e719efb 100644 --- a/test/Modules/crash-vfs-path-symlink-component.m +++ b/test/Modules/crash-vfs-path-symlink-component.m @@ -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 \ diff --git a/test/Modules/crash-vfs-path-traversal.m b/test/Modules/crash-vfs-path-traversal.m index b7610a591e..b8da86007f 100644 --- a/test/Modules/crash-vfs-path-traversal.m +++ b/test/Modules/crash-vfs-path-traversal.m @@ -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" @@ -37,12 +37,12 @@ // 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 -- 2.50.1