#!/usr/bin/env bash

set -euo pipefail

readonly scriptDir=$(dirname $0)

readonly tmpDir=/tmp/deeep-cov-$$
trap "rm -rf $tmpDir" EXIT
mkdir -p $tmpDir

export BIN=$tmpDir
export CXXFLAGS="--coverage"
export LDFLAGS="--coverage"
export DFLAGS="--coverage"
make -j`nproc`

lcov --capture -d "$tmpDir/src" -b src --no-external --initial > $tmpDir/reference.info

# run tests
$BIN/tests.exe
lcov --capture -d "$tmpDir/src" -b src --no-external -o $tmpDir/stats.info

# combine baseline and test coverage data
lcov -a $tmpDir/reference.info -a $tmpDir/stats.info -o $tmpDir/profile.txt

rm -rf cov
genhtml $tmpDir/profile.txt -o cov

