#!/bin/sh # build covsrv binary make -C deps/covsrv # not super fantastic but most likely good enough export COVSRV_SOCKET=$(mktemp -u) # server program should always be killed at the end of a test run cleanup() { ./deps/covsrv/build/covsrv quit } # kill server program even if user interrupted us or something else exceptional # happened trap interrupt INT HUP TERM interrupt () { cleanup exit 1 } # start coverage server, should create a unix socket at COVSRV_SOCKET that test # programs can connect to ./deps/covsrv/build/covsrv & # run tests, pass any flags like -j to make make COVERAGEFLAGS="--coverage -DCOVERAGE=1" check "$@" mkdir -p coverage lcov --capture --directory . --out coverage/covsrv.info genhtml coverage/covsrv.info --out coverage cleanup exit 0