30 lines · c
1// RUN: export LSAN_OPTIONS=detect_leaks=02// RUN: rm -rf %t3// RUN: mkdir %t4// RUN: env CINDEXTEST_INVOCATION_EMISSION_PATH=%t not c-index-test -test-load-source all %s5// RUN: cat %t/libclang-* | FileCheck %s6 7// RUN: rm -rf %t8// RUN: mkdir %t9// RUN: env LIBCLANG_DISABLE_CRASH_RECOVERY=1 CINDEXTEST_INVOCATION_EMISSION_PATH=%t not --crash c-index-test -test-load-source all %s10// RUN: cat %t/libclang-* | FileCheck %s11 12// Verify that the file is removed for successful operation:13// RUN: rm -rf %t14// RUN: mkdir %t15// RUN: env CINDEXTEST_INVOCATION_EMISSION_PATH=%t c-index-test -test-load-source all %s -DAVOID_CRASH16// RUN: ls %t | count 017 18// Make sure we record the unsaved file hash.19// RUN: rm -rf %t20// RUN: mkdir %t21// RUN: env CINDEXTEST_INVOCATION_EMISSION_PATH=%t not c-index-test -test-load-source all "-remap-file=%s,%S/Inputs/record-parsing-invocation-remap.c" %s22// RUN: cat %t/libclang-* | FileCheck --check-prefix=CHECK-UNSAVED %s23 24#ifndef AVOID_CRASH25# pragma clang __debug parser_crash26#endif27 28// CHECK: {"toolchain":"{{.*}}","libclang.operation":"parse","libclang.opts":1,"args":["clang","-fno-spell-checking","{{.*}}record-parsing-invocation.c","-Xclang","-detailed-preprocessing-record","-fallow-editor-placeholders"]}29// CHECK-UNSAVED: {"toolchain":"{{.*}}","libclang.operation":"parse","libclang.opts":1,"args":["clang","-fno-spell-checking","{{.*}}record-parsing-invocation.c","-Xclang","-detailed-preprocessing-record","-fallow-editor-placeholders"],"unsaved_file_hashes":[{"name":"{{.*}}record-parsing-invocation.c","md5":"aee23773de90e665992b48209351d70e"}]}30