xref: /llvm-project/compiler-rt/test/profile/ContinuousSyncMode/reset-default-profile.c (revision 4f2651c36361468cf35cdcdf841d3abed9d0d1cc)
1*4f2651c3SWael Yehia // REQUIRES: target={{.*(darwin|linux|aix).*}}
2ace26b38SZequan Wu 
3ace26b38SZequan Wu // Test when LLVM_PROFILE_FILE is set incorrectly, it should fall backs to use default.profraw without runtime error.
4ace26b38SZequan Wu 
5ace26b38SZequan Wu // Create & cd into a temporary directory.
6ace26b38SZequan Wu // RUN: rm -rf %t.dir && mkdir -p %t.dir && cd %t.dir
7ace26b38SZequan Wu // RUN: %clang -fprofile-instr-generate -fcoverage-mapping -mllvm -runtime-counter-relocation=true -o %t.exe %s
8ace26b38SZequan Wu // RUN: env LLVM_PROFILE_FILE="incorrect-profile-name%m%c%c.profraw" %run %t.exe
9ace26b38SZequan Wu // RUN: ls -l | FileCheck %s
10ace26b38SZequan Wu 
11ace26b38SZequan Wu // CHECK:     default.profraw
12ace26b38SZequan Wu // CHECK-NOT: incorrect-profile-name.profraw
13ace26b38SZequan Wu 
14ace26b38SZequan Wu #include <stdio.h>
15ace26b38SZequan Wu int f() { return 0; }
16ace26b38SZequan Wu 
17ace26b38SZequan Wu int main(int argc, char **argv) {
18ace26b38SZequan Wu   FILE *File = fopen("default.profraw", "w");
19ace26b38SZequan Wu   f();
20ace26b38SZequan Wu   return 0;
21ace26b38SZequan Wu }
22