#!/bin/sh CMAKE_BINARY_DIR=$1 mkdir -p ${CMAKE_BINARY_DIR}/coverage mkdir -p ${CMAKE_BINARY_DIR}/coverage-out rm -f ${CMAKE_BINARY_DIR}/coverage/* rm -f ${CMAKE_BINARY_DIR}/coverage-out/* make make test LLVM_PROFILE_FILE=${CMAKE_BINARY_DIR}/coverage/%p.profraw llvm-profdata merge -sparse ${CMAKE_BINARY_DIR}/coverage/*.profraw -o ${CMAKE_BINARY_DIR}/llvm.profdata llvm-cov show -instr-profile llvm.profdata libcarl.so > coverage-out/coverage.txt for f in `ls bin/` ; do llvm-cov show -instr-profile llvm.profdata bin/$f > coverage-out/coverage-$f.txt done cat coverage-out/*.txt > coverage.txt