File: measure_coverage.sh

package info (click to toggle)
simdjson 4.2.4-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 27,936 kB
  • sloc: cpp: 171,612; ansic: 19,122; sh: 1,126; python: 842; makefile: 47; ruby: 25; javascript: 13
file content (36 lines) | stat: -rwxr-xr-x 844 bytes parent folder | download | duplicates (3)
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
#!/bin/sh
#
# makes a coverage build.
#
# To measure and display the coverage:
#
#cd build-coverage
#fuzz/fuzz_parser path/to/corpus/* # repeat with other fuzzers
#gcovr -r . --html --html-details --sort-uncovered -o out.html
# and view the results in out.html

bdir=build-coverage
if [ ! -d $bdir ] ; then
    mkdir -p $bdir
    cd $bdir

    export CC=gcc
    export CXX="g++"
    export CFLAGS="-fprofile-arcs -ftest-coverage"
    export CXXFLAGS="-fprofile-arcs -ftest-coverage"
    export LDFLAGS="-fprofile-arcs -ftest-coverage"

    cmake .. \
          -GNinja \
          -DCMAKE_BUILD_TYPE=Debug \
          -DSIMDJSON_DEVELOPER_MODE=ON \
          -DBUILD_SHARED_LIBS=OFF \
          -DSIMDJSON_ENABLE_FUZZING=On \
          -DSIMDJSON_DISABLE_DEPRECATED_API=On \
	  -DSIMDJSON_FUZZ_LINKMAIN=On
    ninja all_fuzzers
    cd ..
fi