зеркало из https://github.com/microsoft/clang-1.git
The two libclang crash-recovery tests that involve precompiled
preambles end up leaving the precompiled preambles around. This is by design, since we do minimal cleanup during crash recovery. However, it's unfortunate for testing, so introduce a hook that allows these two tests to put the precompiled preamble somewhere where we can delete them after testing. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113698 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Родитель
2cd4fd4b75
Коммит
424668cc90
|
@ -803,6 +803,13 @@ static std::string GetPreamblePCHPath() {
|
|||
// FIXME: This is lame; sys::Path should provide this function (in particular,
|
||||
// it should know how to find the temporary files dir).
|
||||
// FIXME: This is really lame. I copied this code from the Driver!
|
||||
// FIXME: This is a hack so that we can override the preamble file during
|
||||
// crash-recovery testing, which is the only case where the preamble files
|
||||
// are not necessarily cleaned up.
|
||||
const char *TmpFile = ::getenv("CINDEXTEST_PREAMBLE_FILE");
|
||||
if (TmpFile)
|
||||
return TmpFile;
|
||||
|
||||
std::string Error;
|
||||
const char *TmpDir = ::getenv("TMPDIR");
|
||||
if (!TmpDir)
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
// RUN: env CINDEXTEST_EDITING=1 \
|
||||
// RUN: env CINDEXTEST_EDITING=1 CINDEXTEST_PREAMBLE_FILE=%t-preamble.pch \
|
||||
// RUN: not c-index-test -code-completion-at=%s:20:1 \
|
||||
// RUN: "-remap-file=%s;%S/Inputs/crash-recovery-code-complete-remap.c" \
|
||||
// RUN: %s 2> %t.err
|
||||
// RUN: FileCheck < %t.err -check-prefix=CHECK-CODE-COMPLETE-CRASH %s
|
||||
// RUN: rm %t-preamble.pch
|
||||
// CHECK-CODE-COMPLETE-CRASH: Unable to perform code completion!
|
||||
//
|
||||
// REQUIRES: crash-recovery
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
// RUN: env CINDEXTEST_EDITING=1 \
|
||||
// RUN: env CINDEXTEST_EDITING=1 CINDEXTEST_PREAMBLE_FILE=%t-preamble.pch \
|
||||
// RUN: not c-index-test -test-load-source-reparse 1 local \
|
||||
// RUN: -remap-file="%s;%S/Inputs/crash-recovery-reparse-remap.c" \
|
||||
// RUN: %s 2> %t.err
|
||||
// RUN: FileCheck < %t.err -check-prefix=CHECK-REPARSE-SOURCE-CRASH %s
|
||||
// RUN: rm %t-preamble.pch
|
||||
// CHECK-REPARSE-SOURCE-CRASH: Unable to reparse translation unit
|
||||
//
|
||||
// REQUIRES: crash-recovery
|
||||
|
|
Загрузка…
Ссылка в новой задаче