reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
    1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21
   22
   23
   24
   25
   26
   27
   28
   29
   30
   31
   32
   33
   34
   35
   36
   37
   38
   39
   40
   41
   42
   43
   44
   45
   46
   47
   48
   49
   50
RUN: llvm-cov report -instr-profile %S/Inputs/sources_specified/main.profdata \
RUN:   -path-equivalence=/tmp,%S/Inputs \
RUN:   %S/Inputs/sources_specified/main.covmapping \
RUN:   %S/Inputs/sources_specified/main.cc %S/Inputs/sources_specified/extra \
RUN:   | FileCheck -check-prefix=REPORT %s

RUN: llvm-cov show -instr-profile %S/Inputs/sources_specified/main.profdata \
RUN:   -path-equivalence=/tmp,%S/Inputs \
RUN:   %S/Inputs/sources_specified/main.covmapping \
RUN:   %S/Inputs/sources_specified/main.cc %S/Inputs/sources_specified/extra \
RUN:   | FileCheck -check-prefix=SHOW %s

# Order of files may differ, check the total values calculated.
REPORT-NOT: {{.*}}abs.h{{.*}}
REPORT: {{^}}TOTAL 3{{.*}}72.73%

# Order of files may differ, check that there are 3 files and not abs.h.
SHOW-NOT: {{.*}}abs.h{{.*}}
SHOW: {{.*}}sources_specified{{.*}}
SHOW: {{.*}}sources_specified{{.*}}
SHOW: {{.*}}sources_specified{{.*}}


# Test "export" command. Use a temp .json file as output is a single line.
RUN: llvm-cov export -instr-profile %S/Inputs/sources_specified/main.profdata \
RUN:   -path-equivalence=/tmp,%S/Inputs \
RUN:   %S/Inputs/sources_specified/main.covmapping \
RUN:   %S/Inputs/sources_specified/main.cc %S/Inputs/sources_specified/extra \
RUN:   > %t.export.json

RUN: FileCheck -check-prefix=NO-EXPORT %s < %t.export.json
RUN: FileCheck -check-prefix=EXPORT %s < %t.export.json

NO-EXPORT-NOT: {{"filename":"(/|\\\\)tmp(/|\\\\)sources_specified(/|\\\\)abs.h"}}
EXPORT-DAG: {{"filename":"(/|\\\\)tmp(/|\\\\)sources_specified(/|\\\\)main.cc"}}
EXPORT-DAG: {{"filename":"(/|\\\\)tmp(/|\\\\)sources_specified(/|\\\\)extra(/|\\\\)dec.h"}}
EXPORT-DAG: {{"filename":"(/|\\\\)tmp(/|\\\\)sources_specified(/|\\\\)extra(/|\\\\)inc.h"}}

Instructions for regenerating the test:

# cd %S/Inputs/sources_specified
cp -r . /tmp/sources_specified

clang -mllvm -enable-name-compression=false -fprofile-instr-generate \
    -fcoverage-mapping /tmp/sources_specified/main.cc -o main

LLVM_PROFILE_FILE="main.raw" ./main
llvm-profdata merge main.raw -o main.profdata
llvm-cov convert-for-testing ./main -o ./main.covmapping
rm main main.raw